Я хочу аутентифицировать имя пользователя и пароль пользователя, и в случае успеха я хочу использовать токен для получения базовой информации о пользователе.
Тип предоставления - это Предоставление пароля владельца ресурса с OpenID Connect.
Однако существует разница в том, как это реализовано в различных провайдерах идентификации.Например, OneLogin требует два запроса для получения основной пользовательской информации.В то время как Azure AD B2C и IdentityServer4 требуют одного запроса.
Какая реализация является стандартом OpenID Connect?Если OneLogin используется для моего проекта, какие лучшие практики доступны для переносимости платформы?
OneLogin:
Первый запрос:
Получение токена
URL: https://openid -connect.onelogin.com / oidc / token
Ссылка: https://developers.onelogin.com/openid-connect/api/password-grant
Результат:
{
"access_token": "example",
"expires_in": 2313232,
"token_type": "Bearer",
"refresh_token": "example"
}
Второй запрос:
Получение информации о пользователе
URL: https://openid -connect.onelogin.com/ oidc / me
Ссылка: https://developers.onelogin.com/openid-connect/api/user-info
Результат:
{
"sub": "123",
"email": "my@lmail.com",
"preferred_username": "my@email.com",
"name": "My Name",
"updated_at": "2019-03-13T16:11:15Z",
"given_name": "My",
"family_name": "Name"
}