Я посмотрел документ Google OpenId Connect here. Это ясно показывает, что поддержанные Претензии:Почему API OpenId Connect Google не возвращает все претензии?
"claims_supported": [
"aud",
"email",
"email_verified",
"exp",
"family_name",
"given_name",
"iat",
"iss",
"locale",
"name",
"picture",
"sub"
]
и поддерживаемые прицелы
"scopes_supported": [
"openid",
"email",
"profile"
]
Я бы ожидать, что, когда я отправить запрос GET на OpenId Connect UserInfo end point (который https://www.googleapis.com/oauth2/v3/userinfo), что я хотел бы получить (при условии, что когда я прошел проверку подлинности, я попросил все поддерживаемые области применения), которые я сделал при отправке первоначального запроса, как показано ниже)
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=my-client-id&redirect_uri=http://myapp.com&scope=openid profile email&state=someLongStateIdentifier
Вот претензии, которые я получил в ответ от запроса конечной точки UserInfo:
{
"sub": "...",
"name": "...",
"given_name": "...",
"family_name": "...",
"picture": "...",
"email": "...",
"email_verified": true,
"locale": "..."
}
Обратите внимание, как они представляют собой подмножество всех поддерживаемых претензий ... Может кто-нибудь сказать мне, почему я не получаю все поддерживаемых претензий в моем ответе?
Если вы правильно поняли, что конечная точка UserInfo должна возвращать поддерживаемые области для вашего проекта? – DaImTo
@DalmTo Извините, но я считаю, что, поскольку я запросил и получил доступ к каждой области видимости, конечная точка UserInfo должна возвращать каждое заявленное заявление, а не только подмножество требований. –