C# 如何在oWin中验证oAuth 2.0访问令牌?

C# 如何在oWin中验证oAuth 2.0访问令牌?,c#,asp.net-web-api,oauth-2.0,owin,jwt,C#,Asp.net Web Api,Oauth 2.0,Owin,Jwt,我们正在构建一个连接到多个ASP.NETWebAPI服务的SPA前端应用程序。我们希望使用oAuth2.0进行身份验证。验证后,我们希望使用令牌中的信息在数据库中查找相关信息 当我们自己实现身份验证服务器时,我们控制访问令牌的格式和加密。那很好。我们可以验证这些令牌 但现在我们希望使用外部OAuth2.0身份验证服务,如Microsoft和Google。在OWin中,可以在Startup类中打开这些服务。但是我们如何验证这些服务返回的访问令牌呢?它们的通用格式是什么?我们如何知道编码/加密/签名

我们正在构建一个连接到多个ASP.NETWebAPI服务的SPA前端应用程序。我们希望使用oAuth2.0进行身份验证。验证后,我们希望使用令牌中的信息在数据库中查找相关信息

当我们自己实现身份验证服务器时,我们控制访问令牌的格式和加密。那很好。我们可以验证这些令牌


但现在我们希望使用外部OAuth2.0身份验证服务,如Microsoft和Google。在OWin中,可以在Startup类中打开这些服务。但是我们如何验证这些服务返回的访问令牌呢?它们的通用格式是什么?我们如何知道编码/加密/签名

什么的编码/加密/签名?它只是一个不透明的标记,你可以用它作为“钥匙”;但这就是你可以使用它的全部用途。有几个人提到需要对令牌进行验证。请参见示例:。也许我在这里把事情搞混了。那不是一个访问令牌,那是一个id令牌,不是oauth的一部分,它是oauth的一部分openid@Rine在资源服务器上,我一直在验证访问令牌。我正在以加密格式将clientid从授权服务器发送到客户端应用程序。从客户端应用程序,请求带有加密的访问令牌,我必须在资源服务器上对请求进行身份验证。对于身份验证,我将解密访问令牌,然后检索clientid进行身份验证。我尝试了自定义OAuthBeareAuthenticationProvider,但没有成功。请求期间未调用验证标识函数。