我正在尝试构建一个 API(使用 ASP.NET WebApi),该 API 将由学校项目的本机移动应用程序使用。 (我不关心/开发移动应用程序,这个责任由不同的成员承担)
我现在需要实现基于令牌的 Facebook 登录。有很多教程可用于介绍如何为基于浏览器的应用程序实现此功能(这非常简单,并且大部分都是内置的),但我认为我不了解这如何与本机应用程序一起使用。我不明白的是重定向如何工作?
根据这个link http://www.azurefromthetrenches.com/how-to-using-facebook-to-authenticate-with-web-api-2-in-a-native-mobile-application/,我的服务器不需要专门处理任何事情。我想我不明白这是如何运作的? Facebook 的代币将如何处理?
另外,我应该实现令牌处理的哪一部分,我无法真正找到有关 WebApi 外部登录身份验证的良好文档。
无论如何,如果有人可以向我指出发生的令牌交换的确切流程以及 ASP.NET 默认实现的内容,那将非常有帮助。
另外,对我来说最大的困惑是我不明白 Facebook 返回的令牌将如何处理。
- 我假设令牌将返回给客户端(移动应用程序),我如何在我的服务器上访问它?
- 如何从 Facebook 的令牌创建本地令牌?
这一切都是由 ASP.NET 在内部/自动完成的吗?
如果这是我应该能够弄清楚的事情,我很抱歉。我确实做了很多研究,发现自己淹没在(相关和不相关)信息中。我想我什至不知道如何搜索我需要的信息。
我读过的一些链接:
基于声明和令牌的身份验证 (ASP.NET Web API) http://www.codeproject.com/Tips/821772/Claims-And-Token-Based-Authentication-ASP-NET-Web
使用 ASP.NET Web API 2、Owin 和 Identity 进行基于令牌的身份验证 http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/
ASP.NET Web API 2 在 AngularJS 应用程序中使用 Facebook 和 Google 进行外部登录 http://bitoftech.net/2014/08/11/asp-net-web-api-2-external-logins-social-logins-facebook-google-angularjs-app/