更改 Microsoft Graph API 重定向 Uri 中的“code”参数

mig*_*lla 1 azure-active-directory azure-functions microsoft-graph-api

我正在构建一个使用 Microsoft Graph API 进行身份验证的 Azure Functions 应用程序。我创建了一个processCode函数作为我的重定向 URI,它采用 Graph API 发送的代码来生成 Graph 令牌。

但是,Azure Functions 在其调用中使用code查询字符串参数来传递函数键。

我是否可以将 Graph API 重定向 URI 配置为使用除 之外的其他查询字符串参数code

本质上,改变

https://myapp/api/processCode?code=GRAPH-CODE (conflicting code parameter)
Run Code Online (Sandbox Code Playgroud)

https://myapp/api/processCode?code=FUNCTIONS-KEY&graphcode=GRAPH-CODE
Run Code Online (Sandbox Code Playgroud)

Mar*_*eur 5

你不能。查询code=参数由 OAuth 2.0 规范 ( ) 定义RFC 6249

您可以做的就是在请求授权代码时将您的response_modefrom更改query为。这改变了代码本身的返回方式。不是向您发出授权中的 ,而是向正文中的 发出 a (即)。form_postGETredirect_uricodePOSTredirect_uricodeapplication/x-www-form-urlencoded

您必须调整 Azure 函数来侦听POST和解析正文中的内容而不是查询字符串。否则,一切都应该保持不变。application/x-www-form-urlencoded 与查询字符串格式 ( ) 非常相似key=value&key=value&etc