#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.