Google OAuth 2.0 流程问题(隐式)

Google OAuth 2.0 Flow Issue (Implicit)

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

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

我现在遇到的问题是,当我调用 API 并发送 Bearer 令牌时,我如何让我的 API 识别它并对用户进行身份验证我可以调用授权方法??

我想我 运行 在这里兜圈子,只需要一些可靠的方向。

身份验证端点:https://accounts.google.com/o/oauth2/v2/auth
范围:openid 配置文件电子邮件
重定向(目前):http://localhost/callback.html
网站 API:http://api.domain.com
流:隐式流
SPA:http://localhost
令牌验证 URI:https://www.googleapis.com/oauth2/v3/tokeninfo

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

此时我希望发生的是我标记为授权的任何 api 方法,它现在将允许通过 User.Identity object 现在水化和 return一个200。

这个精彩的演示文稿位于此处。

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 年职业生涯中最长的研究工作之一,我找到了将所有这些整合在一起的人。