我有一个 ASP.NET MVC Web Api 网络服务和一些使用它的移动应用程序。
我正在努力为我的应用程序和网络服务实现身份提供商和安全性。我可以使用 Facebook 身份验证来管理我的用户的身份吗?阅读 FB 登录文档,我看不出如何......我想象我会让用户通过 FB 登录,通过我选择实现的身份验证流程,然后取回访问 token 。但是下次他们打开我的应用程序时会发生什么?他们如何再次进行身份验证,我在我的数据库中存储什么来唯一标识 Facebook 用户(和我的应用程序的用户)?我需要他们在我的应用程序上下文中的身份,而不仅仅是为了知道 Facebook 说他们没问题。
由于这是一个仅提供 JSON(无 UI)服务的 Web Api,我不想使用任何 javascript。但事实上你需要在流程中的某个点重定向也是我关心的问题,因为移动应用程序不应该在登录期间重定向。
最佳答案
我知道已经晚了......但这可能对你有帮助。
Login部分必须在客户端完成(WebForm、MVC、桌面、移动等)...客户端将打开一个网络浏览器(它可以集成在您的应用程序中)允许用户登录并为您的应用程序提供正确的权限.
Facebook 将返回 AccessToken对您来说,有效期有限,但您可以申请 Extention .
既然你想创建一个Web服务,你的服务就必须从客户端接收AccessToken,然后你就可以做任何你想做的事了。 (包括扩展它)
仅供引用:This post谈论尝试在没有浏览器的情况下使用 oauth。
希望对你有帮助 丹尼尔。
关于Web API 服务/移动应用程序的 Facebook 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353359/