2010-08-10 2 views
11

Có thể triển khai xác thực OpenId trong iPhone không? Tôi đã tìm thấy một khung có tên là janrain. Nhưng với đăng ký miễn phí, chúng tôi chỉ có thể tận dụng các tính năng. Có bất kỳ khung nguồn mở nào khác có sẵn không?Chúng tôi có thể triển khai các tùy chọn OpenID trong ứng dụng iPhone gốc không?

Cảm ơn !!

+0

Bao giờ tìm được giải pháp cho điều này? – chris

+0

Tôi không tìm thấy giải pháp nào khác cho vấn đề này? – Krishnan

Trả lời

23

Tôi đã tìm thấy giải pháp sử dụng UIWebView chuẩn để xử lý xác thực. Vì cookie được chia sẻ trong ứng dụng, xác thực thành công với UIWebView (lưu trữ một phiên hoặc cookie xác thực) sẽ chuyển sang các yêu cầu khác.

Tôi không có khung chính thức, nhưng nó hoạt động như sau: Tôi đưa ra yêu cầu REST. Nếu yêu cầu trả về một chuỗi JSON, thì tôi đã được xác thực và tất cả đều tốt. Nếu yêu cầu trả lại chuyển hướng (nghĩa là 301) thì trang web đang cố gắng chuyển hướng để xác thực. Ở đây tôi dừng chuyển hướng và trình bày một UIWebView phương thức với trang đăng nhập. Người dùng có thể đăng nhập bằng OpenID của họ và sau khi người dùng được xác thực được chuyển hướng đến url thành công được xác định trước.

UIWebView -(void)webViewDidFinishLoad:(UIWebView *)webView phương thức ủy quyền kiểm tra từng URL sau khi được tải và loại bỏ phương thức khi nó thấy url thành công được yêu cầu.

Về cơ bản tôi đã làm như thế và có vẻ như nó hoạt động.

+1

Chris, điều này có vẻ là tốt. Bạn có thể cung cấp một mô hình làm việc hoặc giải pháp nếu bạn có một? – Krishnan

+0

Ngọt ngào, ngọt ngào! 1 lên – Toastor

+0

Tôi trao tiền thưởng cho Chris để cung cấp một giải pháp thuyết phục. Chris nó sẽ là tốt, nếu bạn có thể nhận được một dự án mẫu thử nghiệm. – Krishnan