如何实现从Xamarin身份后端的外部登录

问题描述:

我有一个网站使用ASP.NET核心,它使用MS身份和来自Facebook的外部登录。如何实现从Xamarin身份后端的外部登录

我有一个Xamarin应用程序,使用Xamarin.Auth通过登录/密码登录到此后端。我想知道哪个是允许从应用程序外部登录到Facebook的最佳方式?

  • 我应该为Android创建一个单独的Facebook应用程序还是应该使用相同的网站?
  • 流量是多少? 我想到的是这样的:
    • 使用Facebook SDK登录
    • 从服务器端传递令牌服务器
    • 检查电子邮件存在,或者FB用户ID存在
      • 如果是检查使用Facebook的应用程序是否被注册,如果是登录
      • 如果没有创建一个帐户

但直到现在我还没有存储用户的Facebook ID(只有电子邮件,用户也可以修改)。

Xamarin.Auth是客户端库,目前没有服务器端实现。

因此,您的服务器是受保护资源,Facebook将是授权服务器。获得令牌后(access_tokenrefresh_token),您将尝试访问保护资源,将access_token作为凭证。受保护的资源将执行令牌内省(这可能是单独的服务 - 服务器),它将解码令牌,查找用户名(邮件)并检查令牌的有效期。 这在草稿(RFC)中没有指定,因此请检查FB如何执行令牌内省。

更多信息几个环节:

How to validate an OAuth 2.0 access token for a resource server?

http://blog.api-security.org/2014/10/oauth-20-token-introspection-profile.html

https://www.quora.com/In-OAuth-2-0-how-do-resource-servers-assert-a-token-issued-by-an-authorization-server

https://connect2id.com/products/server/docs/api/token-introspection

https://leastprivilege.com/2015/12/27/oauth-2-0-token-introspection-middleware-for-asp-net-5/