想象一下,我们希望在oAuth2 protocol之后实现架构。我们将ASP.NET Web API作为服务和外部身份提供者,例如,谷歌。现在,我的客户端导航到谷歌,获取访问令牌并向我的REST服务发出请求。如何验证此令牌?如何让我的Web Api信任Google的令牌?
我有一个使用Identity Server 3作为身份提供者(安全令牌服务)的示例,我将我的Web Api作为OWIN中间件运行,它引用了身份服务器(来自Startup.cs类)并且这样它实际上可以信任它,因此Identity Server发出的每个令牌都可以从我的REST服务中理解。如果我想直接调用Google的登录信息并将其用作第三方提供商,我该如何实现这一目标?
答案 0 :(得分:0)
您编写此类场景的方式可以这样工作:
考虑到所有这些,您显然不需要自己的授权服务器,但您仍然需要资源服务器(基本上是您自己的REST API)并构建您自己的中间件,以便它可以理解Google或任何其他提供商的令牌,它可以与谷歌的API等进行对话。
您将实现自己的[Authorize]标签版本,这样您的系统仍然可以以类似的方式工作,除非您不再使用Owin。