Google OAuth 2.0流量问题(隐含)

时间:2016-04-11 13:32:39

标签: .net api asp.net-web-api oauth google-oauth2

我已经阅读和阅读了几个月的所有这些,出于某种原因,它只是没有点击。我有一个用.NET编写的RESTful Web API,它位于api.domain.com网站上,domain.com是一个AngularJS SPA应用程序。

如果客户端上没有access_token(localStorage),我会将用户重定向到Google以通过OAuth 2进行身份验证,然后将其重定向回回调页面,我将access_token写入本地存储。

我现在正在努力的是,当我调用API并发送Bearer令牌时,如何让我的API识别它并验证用户身份以便我可以调用授权方法?

我想我在这里跑圈子,只需要一些坚实的方向。

身份验证端点:https://accounts.google.com/o/oauth2/v2/auth
范围:openid个人资料电子邮件
重定向(暂时):http://localhost/callback.html
Web API:http://api.domain.com
流量:隐含流量 SPA:http://localhost
令牌验证URI:https://www.googleapis.com/oauth2/v3/tokeninfo

用户进入http://localhost,角度应用检查本地存储中的access_token。如果检测到一个,它会调用令牌验证URI以确保它有效且未过期。在angular,via http拦截器中,任何发出该URI的请求都是Web API,它将access_token设置为授权头上的承载令牌。

我期望在这一点上发生的是我已经标记为授权的任何api方法,它现在允许通过User.Identity对象现在水合并返回200.

1 个答案:

答案 0 :(得分:0)

这个精彩的演讲就在这里。

https://speakerdeck.com/developerinfra/authentication-using-tokens-for-angularjs-owin-asp-dot-net-web-api-and-identity

这篇很棒的文章就在这里。

http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

与他在这里的最优秀的样本实施配对。

https://github.com/tjoudeh/AngularJSAuthentication

在我17年的职业生涯中经历了最长时间的研究之后,我找到了一个将这一切融合在一起的人。