我一直在使用'Microsoft Identity Platform与Python Web应用程序集成(https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-python-webapp)。我正在尝试通过python Web应用程序访问Microsoft提供的图形API。
为了快速,我的问题是:成功接受Microsoft帐户的凭据后,它在网页上向我显示了此问题:我们无法完成您的请求:invalid_request:为输入参数'redirect_uri提供的值'无效。期望值是一个与为此客户端应用程序注册的重定向URI匹配的URI。
我尝试查看许多解决方案,但没有一个起作用。我也尝试过这种解决方案-https://github.com/microsoftgraph/msgraph-training-uwp/issues/15
但是它不能解决python的问题。问题保持不变。
我按照说明进行了所有操作-
从Microsoft graph api docs(https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-python-webapp)
已在Azure App注册中注册。
身份验证-重定向Uri-http://localhost:5000/getAToken(文档建议的网址)->我在天蓝色中添加了相同的url,我也尝试将'https'和'http'都放入。
获取密钥。 (根据证书和机密)
已添加所需的权限。
我更改了app.config文件,从我的azure应用程序注册中获取了所有详细信息(我在下面添加了代码)7.我没有更改app.py文件中的任何内容。
启动Flask服务器,最后打开所需的localhost地址。
[请帮助我我哪里做错了,必须做哪些更正。我会很感激的。预先感谢您。
App.config
import os
CLIENT_SECRET = "my key"
AUTHORITY = "https://login.microsoftonline.com/common" # For multi-tenant app
CLIENT_ID = "my id here"
REDIRECT_PATH = "/getAToken"
ENDPOINT = 'https://graph.microsoft.com/v1.0/users'
SCOPE = ["User.ReadBasic.All"]
SESSION_TYPE = "filesystem" # So token cache will be stored in server-side session
我只是尝试了您发布的示例,所以对我来说效果很好。
假设您确定烧瓶在端口5000上运行,
请尝试将您的授权URL更改为https://login.microsoftonline.com/yourtenantid
我尝试了common,但失败了。带有不同的消息。但类似。