验证客户端的ID令牌

时间:2017-11-08 00:12:25

标签: oauth oauth-2.0 openid-connect

我正在努力将 OAuth 2.0 实施到一堆应用程序,我必须减少所需的登录凭据。但是,我很难理解 OAuth 2.0 之上的 OpenID Connect 以及我应该如何验证给定的JWT令牌。是否应在实际令牌内提供公钥,以便客户端可以检查签名?

另外,如果我错了,请更正我,但我相信这个令牌永远不会发送到资源服务器,而是作为客户的“帮助之手”,根据给定的信息向用户提供正确的输出。令牌?如果是,那么每个DECLARE @temp TABLE ( string NVARCHAR(150) ) INSERT INTO @temp (string) VALUES ('default/default/orig/docid/999980/pageno/1/dw_get'), ('default/default/orig/docid/999986/pageno/1/dw_get'), ('default/yyy/orig/docid/1000001/pageno/67/dw_get'), ('78/default/orig/docid=1000480/pageno/1/dw_get'), ('default/default/orig/docid=1000516/pageno/767/dw_get'), ('default/default/orig/docid=1000527/pageno/1/dw_get'), ('default/xxx/pdf/docid=999762/dw_get'), ('default/default/orig/docid/1000581/pageno/1/dw_get'), ('679/default/pdf/docid/999761/dw_get'), ('default/default/orig/docid/1000590/pageno/1/dw_get'), ('default/default/orig/docid/985747/dw_get') -- get the data after docid in the string ;with report as( select substring(string,CHARINDEX('docid',string,0)+6,len(string)) as string from @temp ) -- get the the number up to next '/' select substring(string,0,charindex('/',string,0)) from report 应包含哪些类型的信息是否有一套标准?

1 个答案:

答案 0 :(得分:2)

在成功的令牌响应(通常是JWT)之后发送身份令牌。

ID令牌验证在3.1.3.7节中描述。 ID令牌验证。

对于ID令牌secured with the RSA or EC signature(例如RS256),您需要IdP的公共JSON Web密钥(JWK)集。它作为一个简单的JSON文档发布在一个URL上,该URL也在jwks_uri参数的OpenID Provider’s metadata]中公布。您可以查看Google’s JSON Web Key (JWK)以查看JWK设置的外观。

对于ID tokens secured with an HMAC(例如HS256),您使用client_secret来执行验证。