OpenID Connect / oAuth: как разрешить поставщику OpenId доступ к данным пользователя на стороне проверяющей стороны

Вы также можете просто создать новый словарь с пониманием словаря. Это позволяет избежать импорта копии.

dout = dict((k,v) for k,v in mydict.items())

Конечно, в python> = 2.7 вы можете сделать:

dout = {k:v for k,v in mydict.items()}

Но для обратной совместимости лучший способ лучше.

0
задан RomanG 17 January 2019 в 06:17
поделиться

1 ответ

Не существует прямого решения для вашего упомянутого сценария с точки зрения протокола OAuth и OpenID Connect.

Но из того, что вы объяснили, у вас есть службы, защищенные токеном доступа OAuth 2.0 в service A. Кроме того, A выступает в роли провайдера идентификации (с поддержкой OpenID Connect). Если это так, я считаю, что вы контролируете процесс выдачи токенов и проверки.

Один из вариантов - включить службы из B, которые защищены от маркеров доступа OAuth 2.0. Что похоже на то, что у вас уже есть в A. И чтобы использовать эти сервисы, у вас будут некоторые реализации сервис / клиент, связанные с A. Что они будут делать, так это получить токены из самого A для связи с B. Это может следовать предоставлению клиентских учетных данных из OAuth 2.0 , поскольку нет участия конечного пользователя (сценарий включает взаимодействие между сервисами).

Это предлагаемое решение аналогично использованию ключа API, но с дополнительным преимуществом протокола OAuth 2.0. Это позволяет генерировать токены доступа с ограниченным сроком службы и при необходимости обновлять их. Кроме того, если вы хотите, чтобы службы B использовались другим клиентом, то все будет просто.

0
ответ дан Kavindu Dodanduwa 17 January 2019 в 06:17
поделиться
Другие вопросы по тегам:

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