oauth-2.0 是否可以将Keycloak仅用于身份验证?

eh57zj3b  于 2022-10-31  发布在  其他
关注(0)|答案(1)|浏览(235)

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

{
    "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完成?

axzmvihb

axzmvihb1#

OpenID Connect(OIDC)是建立在OAuth 2.0之上的身份验证协议。
1.使用OAuth 2.0,用户可以通过授权服务器进行身份验证,并获得access token
1.通过OIDC,他们还可以提供一个名为ID token的令牌。
因此,我认为在使用OIDC协议时,您不能忽略访问令牌,因为底层OAuth 2.0协议会生成它。
来源:https://developer.okta.com/docs/guides/validate-id-tokens/overview/

相关问题