我正在编写一个与我自己的服务器兼容的iPhone应用程序。
基本上,它是一个用户可以发布的论坛。我不希望用户在我的服务器上登录帐户,但我更喜欢他们使用他们拥有的任何现有帐户登录:Facebook,Linkedin,Foursquare等。 因此,从应用程序本身,我希望他们能够使用现有帐户登录,然后允许他们在论坛上发帖。
我的问题是:当用户发布消息时,如何验证他是否使用任何服务登录?我需要在客户端和服务器端验证它。我打算用PHP编写服务器端。
由于
答案 0 :(得分:11)
请参阅this question进行类似讨论(仅限Facebook登录)。以下是对应该发生的事情的高级概述(取自我所链接的讨论):
access token
。session key
用于您的应用和服务器之间的所有进一步通信,直到用户退出。在手机上,您将需要一些OAuth库,以允许用户使用其他服务进行身份验证。您可能希望使用Facebook iOS SDK允许他们使用Facebook并使用建议的OAuth libraries here之一来进行其他身份验证服务。我只使用了Facebook SDK,所以我不能说一般的OAuth库。
登录后,手机不应存储session key
,只能存储access token
。
假设用户可以使用多个服务访问其帐户,您还需要某种方式将两个服务连接到同一个用户(可能通过电子邮件地址)。
由您来决定您的应用和服务器的通信方式。我会使用JSON + REST API与服务器进行通信。
答案 1 :(得分:0)
让您的用户使用多种服务登录的另一个选项是Socialize(www.getsocialize.com)。它是一个开源SDK,可以管理您的用户和身份验证,因此您无需执行cbrauchli上面概述的所有步骤。
答案 2 :(得分:0)
我正在研究2020年是否存在使用第三方库允许使用社交帐户登录的更好/易于使用/实施的选项。并找到两个选项:
AuthorizeMe支持:
加上自定义提供程序
Auth0支持:
以及自定义提供程序
免责声明:我不隶属于Auth0或AuthorizeMe。