是否可以仅使用Keycloak进行身份验证?



我想使用JWT进行身份验证,所以我尝试使用Keycloak来获取承载令牌。我的问题是,当我在请求中设置scope=openid时。响应包含access_tokenid_token作为blow:

{
"access_token": "eyJAlW7lLfxPta...MS85g",
"expires_in": 300,
"refresh_expires_in": 1800,
"token_type": "Bearer",
"id_token": "eyJhbGciOmQtMzJhOThS...Htm2OSGo9pVs-CWBJGaPC2Z2ib6FSSckzTxA",
"not-before-policy": 0,
"session_state": "d76a27af-3780-4843-9c6d-32a98c1f6625",
"scope": "openid"
}

我知道access_token是授权的,我不需要它。我只需要id_token进行身份验证。是否有可能从Keycloak响应中删除access_token,或者它只是一个全局OIDC规则,即id_token总是与access_token一起出现?我是否使用了正确的令牌或认证必须由access_token完成?

OpenID Connect (OIDC)是一个建立在OAuth 2.0之上的认证协议。

  1. 使用OAuth 2.0,用户可以通过授权服务器进行身份验证并获得access token
  2. 有了OIDC,他们还可以给你一个叫ID token的令牌。

所以我想说,当你使用OIDC协议时,你不能忽略访问令牌,因为底层OAuth 2.0协议生成它。

来源:https://developer.okta.com/docs/guides/validate-id-tokens/overview/

相关内容

最新更新