powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Пытаюсь осилить oath 2.0
11 сообщений из 36, страница 2 из 2
Пытаюсь осилить oath 2.0
    #39630074
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

так ты это, целиком спеку читай. Oauth2 - про предоставление чьих-то данных (resource owner), которые хостятся кем-то (resource server) третьему лицу (client)

Authorization Server (AS) занимается выдачей и валидацией токенов и часто интегрирован с resource server.
client_id client_secret - это логин и пароль клиента
scope - это какие права клиент запрашивает для доступа к ресурсам

Процесс примерно следующий:
- клиент отправляет юзера на /authorize на AS, указывая свой client_id, какие разрешения нужны и куда потом сделать редирект. Первая аутентификация выполняется на этом шаге, т.к. список разрешенных редиректов для клиента фиксирован, т.е. левый сайт не получит токены
- AS просит RO залогиниться, а потом подтвердить выдачу прав для клиента
- AS выполняет редирект на указанный укл с авторизационным кодом
- клиент, получив авторизационный код, *на сервере* обменивает его на токен. Это нужно для того, чтобы токены не светились в браузере. авторизационный код несекретный, т.к. одноразовый и бесполезный без client_secret.
- токены используются для доступа к RS
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39630085
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
scf,

scf.к. список разрешенных редиректов для клиента фиксирован, т.е. левый сайт не получит токены
Кто их фиксирует? где это делается тут
https://github.com/eugenp/tutorials/tree/master/spring-security-sso

авторAS просит RO залогиниться, а потом подтвердить выдачу прав для клиента

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

в результате логина клиент получает код.

по коду клиент уже без участия браузер выполняет запрос и получает токен.

а почему код не секретен?

вот я нашёл кусок кода на сервере который получает запрос на токен и в запросе такие вот параметры:



По сути только код. Или вы имеете ввиду, что однажды его использовав ничего не получится использовать его второй раз?

Коды даются по логину и паролю, которых никто не знает.

Правильно я понимаю, что если мы получили код, но по какой-то причине не сделали запрос на токен, то злоумышленник сп#здивший этот код сможет получить токен если угадает grant_type и redirect_uri ?
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39630316
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть статья как использовать Oath 2 для сервера UUA.

Я попытался максимально просто объяснить с использованием PostMan как каждая авторизационная схема работает. Возможно Вам будет проще просто посмотреть через постмен по картинкам чтоб боле менее было понятно. Так же для каждой схемы я даю вменяемые комментарии почему это используется и при каких обстоятельствах.

https://vyatkins.wordpress.com/2017/11/11/cloud-security-oauth-2-0-protocol-and-predix-uaa/

Вообще обычно большенство бек-енд разработчиков завершают изучения протокола на

grant_type=client_credencials

...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39630944
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergunka,

авторThe purpose of the workflow is that the access token and client secret will never be exposed to the resource owner

Цель воркфлоу заключается в том, что access token и client secret(логин и пароль?) никогда не будут доступны владельцу ресурса.

Чего-то не очень понятно. ресурс оунер это пользователь. В чем суть от него скрывать access token и client secret?
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39630996
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergunka,

Authorization Code Grant - понятно
приложение редиректит меня на авторизационный сервер, где я ввожу креды. В ответ мой браузер получает Grant Code. Этот код получает приложение и в обмен на него оно получает от авторизационного сервера access токен

Implicit Grant

не понял, объясните плиз

Кто есть кто на этой картинке в термина объявленных в начале статьи.
Что за сообщения шлются?(что за client id?)

Resource Owner Password Credentials Grant

Просто отдаём приложению(клиенту) логин и пароль. Оно уже по логину и паролю получает токен.
Выглядит как-то глупо.

Client Credentials Grant

Выглядит так же как и предыдущее(Resource Owner Password Credentials Grant) только разница в том, что даём не логин и пароль, а какой-то Authorization . Не понятно откуда он берётся.


Extension Grants

Это требует интеграции с неким внешним сервисом?
google authenticator?
двухфакторная аутентификация?

Некий сервис интегрирован например с Okta.

Чтобы зайти в приложение мне надо ввести логин и пароль на сайте, потом меня редиректит на Okta где я ещё должен ввести код из google authenticator и после успешного ввода меня вернёт на основной сайт.
Только я забыл по какому коду я регистрируюсь в гугл аутентификаторе
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39631160
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerSergunka,

авторThe purpose of the workflow is that the access token and client secret will never be exposed to the resource owner

Цель воркфлоу заключается в том, что access token и client secret(логин и пароль?) никогда не будут доступны владельцу ресурса.

Чего-то не очень понятно. ресурс оунер это пользователь. В чем суть от него скрывать access token и client secret?

Нужно исходить из того, что у клиента права всегда выше и в редком случае равны правам доступа пользователя поэтому коды доступа секрет(т.е пароль клиента) или токен нельзя передавать пользователю. Это просто общее правило безопасности даже если у вас все пользователи с правами клиента лучше на уровне дизайна предположить, что всегда это может изменится.
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39631163
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerЧто за сообщения шлются?(что за client id?)


Поймите меня правильно я очень благодарен, что Вы читаете мой блог... но по Вашему вопросу про имя клиента Вы полностью не понимаете концепцию Аоз 2 протокола. Последуйте моему совету и просто тупо используйте PostMan, чтоб через руки понять как все происходит.
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39631385
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergunkaquestionerSergunka,

пропущено...


Цель воркфлоу заключается в том, что access token и client secret(логин и пароль?) никогда не будут доступны владельцу ресурса.

Чего-то не очень понятно. ресурс оунер это пользователь. В чем суть от него скрывать access token и client secret?

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

Если я правильно понимаю, то обычно всё наоборот.

Я Вася, у меня есть аккаунт на гугл диске. Я захожу в ваше приложение(клиент). Это приложение требует доступа к гугл диску. Я даю доступ к какой-то конкретной папке.
Очевидно тут прав у ресурс оунера больше, чем у клиента? а как может быть иначе если оунер предоставлет часть своих прав?

Sergunka Поймите меня правильно я очень благодарен, что Вы читаете мой блог... но по Вашему вопросу про имя клиента Вы полностью не понимаете концепцию Аоз 2 протокола. Последуйте моему совету и просто тупо используйте PostMan, чтоб через руки понять как все происходит
И куда мне отправлять запросы прикажете?
К тому же у вас не написано как получить то, что отправлять)
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39632089
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerSergunkaпропущено...


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

Если я правильно понимаю, то обычно всё наоборот.

Я Вася, у меня есть аккаунт на гугл диске. Я захожу в ваше приложение(клиент). Это приложение требует доступа к гугл диску. Я даю доступ к какой-то конкретной папке.
Очевидно тут прав у ресурс оунера больше, чем у клиента? а как может быть иначе если оунер предоставлет часть своих прав?

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

questionerSergunka Поймите меня правильно я очень благодарен, что Вы читаете мой блог... но по Вашему вопросу про имя клиента Вы полностью не понимаете концепцию Аоз 2 протокола. Последуйте моему совету и просто тупо используйте PostMan, чтоб через руки понять как все происходит
И куда мне отправлять запросы прикажете?
К тому же у вас не написано как получить то, что отправлять)

Вы можете установить локально тот же UAA сервер и погонять так сказать от всей души

https://github.com/cloudfoundry/uaa

Запускается легко

Код: powershell
1.
2.
3.
$ git clone git://github.com/cloudfoundry/uaa.git
$ cd uaa
$ ./gradlew run



Там так же куча всякого добра и заяснялок, что да как.
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39632134
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergunka,

авторНужно исходить из того, что у клиента права всегда выше и в редком случае равны правам доступа пользователя поэтому коды доступа секрет(т.е пароль клиента) или токен нельзя передавать пользователю.
всё таки это бред.

я тут исхожу из ваших же терминов
авторresource owner:
An entity grants access to a protected resource. In most cases, the owner is a person and it is referred to as a user
resource server:
A server that runs your application and handles the protected resources
client:
The client makes the protected resource requests on behalf of the resource owner using its authorization access workflows
authorization server:
The server issuing access tokens to the client after successfully authenticating the resource owner and obtaining authorization.

Какое-то блуждание в трёх соснах. Явно тут никакая не высшая математика

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

Так Вася что и клиент и пользователь?
...
Рейтинг: 0 / 0
Пытаюсь осилить oath 2.0
    #39633928
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как соотносятся понятия Jwt и oauth2?
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Пытаюсь осилить oath 2.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]