powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / oauth 2.0 Authorization code vs Authorization code with PKCE
11 сообщений из 11, страница 1 из 1
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123868
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По теме сабжа понял, что для мобильных и браузреных приложений Authorization code flow не достаточно. Надо использовать Authorization code with PKCE. В этом флоу добавляется передача хеша, сгенерированного по одностороннему алгоритму и его проверка на другом этапе.

Объясните плиз на пальцах от какой проблему это спасёт ? ну то есть было вот так - тут была такая вот уязвимость, а вот с PKCE вдруг стало безопасно.



авторThe user clicks Login within the application.

Auth0's SDK creates a cryptographically-random code_verifier and from this generates a code_challenge.

Auth0's SDK redirects the user to the Auth0 Authorization Server (/authorize endpoint) along with the code_challenge.

Your Auth0 Authorization Server redirects the user to the login and authorization prompt.

The user authenticates using one of the configured login options and may see a consent page listing the permissions Auth0 will give to the application.

Your Auth0 Authorization Server stores the code_challenge and redirects the user back to the application with an authorization code, which is good for one use.

Auth0's SDK sends this code and the code_verifier (created in step 2) to the Auth0 Authorization Server (/oauth/token endpoint).

Your Auth0 Authorization Server verifies the code_challenge and code_verifier.

Your Auth0 Authorization Server responds with an ID Token and Access Token (and optionally, a Refresh Token).

Your application can use the Access Token to call an API to access information about the user.

The API responds with requested data.
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123880
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
Вот вам сударь https где перехват сложен и отправка кешей вместо информации уже выше крыши защита.
Это вы потрудитесь рассказать как это мало для вас.
Можете и не отвечать.
Нам как то всё равно.
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123883
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
questioner,
Вот вам сударь https где перехват сложен и отправка кешей вместо информации уже выше крыши защита.
Это вы потрудитесь рассказать как это мало для вас.
Можете и не отвечать.
Нам как то всё равно.


Опять ты... можешь и не писать.

Я задал конкретный вопрос. Мне интересно увидеть кейс когда
Authorization code flow не достаточно , Authorization code with PKCE хватает
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123906
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
А закон форума знаем?
Вопрошающий работает больше отвечающих.
Тогда форум эффективен.
Мы тебе должны эксплоит создать, показать недостаток, и научить пофиксить.
Так то ли?
Ты журналист? Или может о _проблеме_ расскажешь?
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123920
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
жду ответа от душевно здоровых пользователей форума)
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123926
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,
Стас уже бежит с плакатом - не слушай петро.
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123934
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтото Остапа Петро понесло сегодня. Уже начал праздновать Новый год?
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123938
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,
Сегодня отсюда) 22415364 . Завтра не знаю.
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40123943
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner
Объясните плиз на пальцах от какой проблему это спасёт ? ну то есть было вот так - тут была такая вот уязвимость, а вот с PKCE вдруг стало безопасно.


в спецификациях OAuth без бутылки не разобраться, я когда изучал самая вменяемая документация была вроде у MS и Okta...
Что касается вопроса про "Authorization code with PKCE" - это невозможно изучать без отрыва от rfc8252, конкретно нас интересут section-7.2 :

rfc82527.2. Claimed "https" Scheme URI Redirection

Some operating systems allow apps to claim "https" scheme [RFC7230]
URIs in the domains they control. When the browser encounters a
claimed URI, instead of the page being loaded in the browser, the
native app is launched with the URI supplied as a launch parameter.

Such URIs can be used as redirect URIs by native apps. They are
indistinguishable to the authorization server from a regular web-
based client redirect URI. An example is:

https://app.example.com/oauth2redirect/example-provider

As the redirect URI alone is not enough to distinguish public native
app clients from confidential web clients, it is REQUIRED in
Section 8.4 that the client type be recorded during client
registration to enable the server to determine the client type and
act accordingly.

App-claimed "https" scheme redirect URIs have some advantages
compared to other native app redirect options in that the identity of
the destination app is guaranteed to the authorization server by the
operating system. For this reason, native apps SHOULD use them over
the other options where possible.

Суть происходящего в следующем:
- implicit flow считается западлом, потому что пользователь вводит свой пароль в приложении, а не на доверенном ресурсе (ну и еще приложение секрет должно хранить, в итоге получается что секрет доступен всем)
- в случае authorization code flow имеют место быть следующие проблемы:
-- если мы не хотим хранить секрет в приложении, то нам нужен свой собственный сайт, на который будет проходить редирект после попытки авторизации, а этот сайт в свою очередь будет побуждать браузер/операционную систему передать управление нашему приложению
-- если сайта у нас нет, то можно при запуске слушать какой-то порт на локалхосте и редиректы с сервера авторизации слать туда, здесь секрет все равно нужно хранить + нет гарантий что кто-то другой уже порт не слушает, можно для пущей надежности в операционной системе зарегистрировать url-схему, чтобы нам когда нужно передавалось управление, однако хранение секрета - это дыра
- вот в случае использования "Claimed "https" Scheme URI Redirection" получается так, что секрет нам на самом деле какбы и не нужен вовсе: мы доверяем операционной системе и браузеру, в том плане, что после всех редиректов управление в конце концов перейдет к нам
- т.е. суть "Authorization code with PKCE" заключается в том, что оно на самом деле ничего не усиливает, а просто девальвирует необходимость секрета при этом сохраняя совместимость с обычным flow
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40124001
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов,

значит моя изначальная картинка - враньё.

Вот оф. дока. Тут и правда нет никакого client secret
https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3
...
Рейтинг: 0 / 0
oauth 2.0 Authorization code vs Authorization code with PKCE
    #40124017
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   For example, the client makes the following HTTP request using TLS
   (with extra line breaks for display purposes only):

     POST /token HTTP/1.1
     Host: server.example.com
     Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
     Content-Type: application/x-www-form-urlencoded

     grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA
     &redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb

вон оно в Authorization передает id и secret
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / oauth 2.0 Authorization code vs Authorization code with PKCE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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