OAUTH2, как я могу взять имя пользователя, если у меня есть доступ или refresh_Token

Сначала проверьте результаты сканирования. Я не думаю, что эти разделители будут работать. (BTW, метод nextInt() сканера удобен.)

Если вы можете предположить, что вход представляет собой квадратную матрицу, сканирование первой строки покажет, сколько целых чисел она содержит. Затем вы можете (повторно) выделить массивы. Затем обработайте все строки, включая первую строку, которую вы уже сканировали.

Затем вы можете установить matrix = new int[n][n];

2
задан user1577242 5 March 2019 в 15:21
поделиться

2 ответа

Если вы получите токен в формате JSON Web Token (обычно его называют автономным токеном доступа) , то вы можете декодировать полезную нагрузку токена и получить имя пользователя. Обычно это может быть задано как субъектное («вспомогательное») утверждение или оно может быть отправлено в виде отдельного утверждения в JWT. Обратитесь по этой ссылке , чтобы понять о претензиях JWT.

Если это не так, то есть токен доступа непрозрачен, тогда вам необходимо использовать конечную точку самоанализа токена . Вам необходимо убедиться, что такая конечная точка предоставляется вашим сервером авторизации (внешняя сторона, предоставившая вам маркер доступа). Если это так, вы можете вызвать конечную точку самоанализа и получить информацию о токене. Этот ответ используется для проверки правильности токена доступа, а также для получения утверждений, таких как имя пользователя. Пожалуйста, прочитайте больше об ответе на самоанализ по этой ссылке .

Кроме того, вы можете переключиться на [ OpenID Connect ] (OIDC) 3 . Это будет включать идентификатор токена в ответе токена, который является JWT. Вы можете использовать это для получения имени пользователя (+ другая информация о пользователе) и аутентификации конечного пользователя в дополнение к проверке JWT. Проверьте, поддерживается ли OIDC вашим сервером авторизации.

Что касается обновления токена, у вас должен быть действительный токен доступа или действительный ответ токена, чтобы получить все вышеперечисленное. Обновление не имеет никакого значения для вашего приложения, кроме как для получения новых, обновленных токенов.

0
ответ дан Kavindu Dodanduwa 5 March 2019 в 15:21
поделиться

Вы можете попробовать что-то вроде декодирования вашего токена с помощью одной из библиотек на jwt.io , вы можете протестировать его, скопировав и вставив свой токен на сайт и проверив, содержит ли ваш токен нужную вам информацию. , затем, если вы прокрутите вниз, есть много библиотек, которые вы можете использовать для декодирования токенов в вашем коде. Взгляните на официальную библиотеку Microsoft здесь , которую также можно установить через менеджер пакетов nuget Install-Package System.IdentityModel.Tokens.Jwt

0
ответ дан D4RKCIDE 5 March 2019 в 15:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: