我正在尝试构建一个API(使用ASP.NET WebApi),供学校项目的本机移动应用程序使用。 (我不关心/开发移动应用程序,此责任由其他成员承担)我现在需要实现基于令牌的Facebook登录。有很多教程可用于如何为基于浏览器的应用程序实现此功能(这很简单,并且大部分是内置的),但是我不认为我会遵循此方法与本机应用程序一起工作。我不明白重定向如何工作?
据此link,我的服务器不需要专门处理任何事情。而且我不认为这会如何工作?来自Facebook的令牌将如何处理?
此外,我应该实现令牌处理的哪一部分,我实际上找不到WebApi外部登录身份验证的良好文档。
无论如何,如果有人可以指出确切的令牌交换流程以及ASP.NET默认实现的内容,那将非常有帮助。
而且,对我来说最大的困惑是,我不知道将如何处理Facebook返回的令牌。
对不起,如果我能确定这一点。我做了很多研究,发现自己沉迷于(相关和不相关)信息中。我什至不知道如何搜索所需的信息。
我已阅读某些链接:
Claims And Token Based Authentication (ASP.NET Web API)
Token Based Authentication using ASP.NET Web API 2, Owin, and Identity
ASP.NET Web API 2 external logins with Facebook and Google in AngularJS app
我必须为正在开发的应用程序做几乎相同的事情。我也很难找到有关它的信息。看来我发现的一切都接近我所需要的,但并非完全是解决方案。我最终从大量不同的博客文章,文章等中获取了点点滴滴,并将它们放在一起以使其正常工作。
我记得您发布的两个链接“基于声明和令牌的身份验证”和“在AngularJS应用中使用Facebook和Google进行ASP.NET Web API 2外部登录”都是有用的信息。
我无法为您提供全面的答案,因为我不记得自己必须做的所有事情,甚至我当时都不了解我正在做的所有事情,但是我可以给您大致的想法。您在正确的轨道上。
本质上,我最终使用了Facebook授予的令牌来确认他们已登录其Facebook帐户,根据其Facebook用户ID创建了一个用户,并授予了他们我自己的承载令牌,可用于访问我的API。] >
流程看起来像这样:
最终有很多用于使用ASP.NET Identity实现OAuth内容的自定义代码,并且您包括的那些链接向您展示了其中的一些内容。希望这些信息能对您有所帮助,对不起,我无济于事。
我关注了this article。流程基本上是这个