Используя Google Appengine Python (Webapp2) Мне нужно пройти аутентификацию на новой конечной точке Microsoft версии V2 с помощью OpenID Connect

#python #google-app-engine #azure #office365 #webapp2

#python #google-app-engine #azure #office365 #webapp2

Вопрос:

Существуют встроенные декораторы, которые легко позволяют мне получать доступ к собственным службам Google, но как я могу перегрузить эти декораторы для вызова других конечных точек, в частности конечной точки Microsoft Azure версии V2 (мне нужно аутентифицировать пользователей Office 365).).

Фрагмент кода, который я хотел бы переопределить для вызова других конечных точек, таких как Microsoft:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize

 decorator = OAuth2Decorator(
  client_id='d4ea6ab9-adf4-4aec-9b99-675cf46ad37',
  redirect_uri='',
  client_secret='sW8rJYvWtCBVpge54L8684w',
  scope='')



class Authtest(BaseRequestHandler):

  @decorator.oauth_required
  

Любые идеи приветствуются.
Спасибо,
Ян

Комментарии:

1. Если вы используете Active Directory версии V2, я бы посоветовал вам ознакомиться с ним. Вот руководство для вас, чтобы начать: azure.microsoft.com/en-us/documentation/articles /…

2. Привет — я знаком со стороной Microsoft, задача заключается в аутентификации через приложение, размещенное в Google AppEngine (на python), но спасибо за ссылку

Ответ №1:

Потратив на это много времени, я могу подтвердить, что вы МОЖЕТЕ перегрузить декоратор для прямого доступа к конечной точке Azure версии V2, используя приведенный ниже код:

 decorator = OAuth2Decorator(
  client_id='d4ea6ab9-adf4-4aec-9b99-675cf46XXX',
  auth_uri='https://login.microsoftonline.com/common/oauth2/v2.0/authorize',

  response_type='id_token',
  response_mode='form_post',
  client_secret='sW8rJYvWtCBVpgXXXXX',
  extraQueryParameter='nux=1',
  state='12345',
  nonce='678910',
  scope=['openid','email','profile'])
  

Проблема в том, что декораторы закодированы исключительно для обработки API Google и не могут декодировать ответ от Microsoft, хотя это можно реализовать самостоятельно, изменив код в appengine.py это слишком много работы.

Поэтому, если вы хотите пройти аутентификацию на конечной точке Microsoft Azure версии V2 через Appengine, это невозможно с помощью встроенного OAuth2Decorator, который работает только с собственными службами Google.