iOS / Android移动应用程序中OAuth2联合身份验证的选项有哪些?

时间:2014-09-24 16:17:35

标签: android ios facebook authentication oauth-2.0

我目前正在使用OAuth 2.0实施联合登录。这适用于具有iOS,Android和Windows手机/商店实现的网站和客户端。欲获得更多信息;客户是在Xamarin中实现的,但我不认为这对这个问题至关重要。

要求:

  • 在网站上,用户可以选择针对Facebook,Google,直播或内部帐户进行身份验证。
  • 必须尽可能安全
  • 尽可能长时间地保持登录状态,以最大限度地减少用户重新进行身份验证的需要(我相信Facebook的长期令牌为60天)
  • 因为我们想要存储最终令牌服务器端以进行离线访问和令牌续订,我们希望使用显式流(response_type =代码,AKA服务器端流),在那里您获得一个访问代码,然后兑换身份验证令。
  • 对于客户,理想情况下,不是打开网络流程进行身份验证,而是使用例如WebAuthenticationBroker或Xamarin.Auth,最好使用本机组件 - 这将允许操作系统记住用户凭据,并提供更好的“外观和感觉”

以Facebook为例,如果我使用Facebook SDK,它将使用隐式OAuth流程,因此我不会得到我需要的代码(参见:https://components.xamarin.com/view/facebookios)。我错过了什么,或者有没有办法使用原生Facebook组件传递'response_type = code'?我实际上只是将隐式流的访问令牌发送到我们的服务而且是否有任何缺点?

我是否需要手动实施流程?类似的东西:

我已阅读以下附加文章,但仍不确定我理解最佳行动方案:

0 个答案:

没有答案