как обнаружить пользователя в конечной точке токена провайдера OpenID Connect - PullRequest
0 голосов
/ 16 сентября 2018

говорят о типе разрешения authorization_code. В конечной точке авторизации поставщика OpenID Connect мы дали проверяющей стороне код авторизации, а затем они отправляют запрос обратного канала (без участия браузера) в конечную точку токена с этим кодом. поэтому вопрос в том, как отличить этого пользователя в конечной точке токена? Я полагаю, что для этого вызова сеанс не существует, так как это запрос обратного канала. Какие методы можно использовать для идентификации пользователя. может ли хранящийся в памяти HashMap с ключом в виде authorization_code быть идеальным решением

1 Ответ

0 голосов
/ 13 октября 2018

Хранение в HashMap - это решение, которое не масштабируется, поскольку внутренняя память не распределяется между узлами сервера.

Вам придется хранить его в каком-то постоянном хранилище

  • база данных SQL
  • база данных NoSQL
  • база данных значений ключей

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

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

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

...