Web Api身份验证,仅使用客户端身份验证

时间:2014-05-19 23:29:24

标签: c# javascript html5 asp.net-web-api facebook-oauth

仅使用oauth提供程序(FB等)客户端(HTML5 / JS手机应用程序)对Webapi进行身份验证。

这是一个棘手的问题, 所以我可以使用用户名和密码对我们的webapi进行身份验证,使用来自HTML客户端的js,传递用户名和密码。密码作为HTTPS上的参数,我们可以将用户设置为授权,这样他们就可以访问额外的控制器进行数据库更新等,到目前为止对我这么好。

我可以使用MVC对FB进行身份验证,并将用户设置为已授权。

我也可以使用HTML& JS客户端(万岁),现在我将如何授权控制器,好吧我从FB获得用户的电子邮件,那么什么,任何人都可以通过它。假设我可以重定向到MVC页面(从客户端),然后在控制器上设置auth,但这样做不好(将用户从应用程序中发送出去,或者弹出一个窗口)。

从客户端验证用户并同时安全地授权webapi控制器的最佳方法是什么?我是否必须将用户重定向到mvc页面并以此方式执行,其他人如何处理此问题? apps / phone gap / intel xdk?

1 个答案:

答案 0 :(得分:0)

该方法显然是示例facebook,但任何oauth提供程序的进程都是相同的, 通过让用户登录/登录来获取访问令牌。 使用服务器API验证令牌是否真实(在FB的案例图API中) 客户端愉快地登录,直到访问令牌过期。 在过期时(默认为2小时),重定向用户再次登录,应用程序已知应该进行身份验证而无需再次登录,除非用户已撤销您的应用程序的授权。

这里有关于如何处理过期访问令牌的链接(示例是PHP)

不完全优雅,但它就是它,我认为它只适用于超级极客!

很抱歉回答我自己的问题

相关问题