Azure active directory 更改“;代码“;Microsoft Graph API重定向Uri中的参数

Azure active directory 更改“;代码“;Microsoft Graph API重定向Uri中的参数,azure-active-directory,microsoft-graph-api,azure-functions,Azure Active Directory,Microsoft Graph Api,Azure Functions,我正在构建一个Azure函数应用程序,该应用程序使用Microsoft Graph API进行身份验证。我创建了一个processCode函数,它充当我的重定向URI,它使用Graph API发送的代码生成Graph令牌 但是,Azure函数在其调用中使用code查询字符串参数来传递函数键 我是否可以将Graph API重定向URI配置为使用除code之外的其他查询字符串参数 本质上,改变 https://myapp/api/processCode?code=GRAPH-CODE (confli

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

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

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

本质上,改变

https://myapp/api/processCode?code=GRAPH-CODE (conflicting code parameter)


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

相反,您可以将您的
response\u模式
query
更改为
form\u post
。这将改变代码本身返回的方式。与其在授权中使用
code
向您的
redirect\u uri
发出
GET
,不如在正文中使用
code
redirect\u uri
发出
POST
(即
application/x-www-form-urlencoded


您必须调整Azure函数以侦听
POST
,并从正文而不是查询字符串解析内容。否则,一切都应该保持基本不变。
应用程序/x-www-form-urlencoded
非常类似于查询字符串格式(
key=value&key=value&etc

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

相反,您可以将您的
response\u模式
query
更改为
form\u post
。这将改变代码本身返回的方式。与其在授权中使用
code
向您的
redirect\u uri
发出
GET
,不如在正文中使用
code
redirect\u uri
发出
POST
(即
application/x-www-form-urlencoded


您必须调整Azure函数以侦听
POST
,并从正文而不是查询字符串解析内容。否则,一切都应该保持基本不变。
应用程序/x-www-form-urlencoded
非常类似于查询字符串格式(
key=value&key=value&etc

谢谢,马克,这是一个不错的选择,现在就试试吧。当前阻止程序正在MSAL库中找到设置响应模式的位置,但一旦有更新就会恢复。我不确定MSAL是否支持
form\u post
(阅读:我在代码中的任何地方都找不到引用)。确实如此,您只需将其添加到extraQueryParameters字段:wait client.GetAuthorizationRequestUrlAsync(scopes,null,“response_mode=form_post”);谢谢你,马克,这是正确的答案:)我已经测试了它,并使它成功运行。另一个可能的答案是使函数匿名;这允许在不传递代码参数的情况下调用端点,让我们将其用于图形标记:)谢谢Marc,这是一个不错的选择,现在就尝试一下。当前阻止程序正在MSAL库中找到设置响应模式的位置,但一旦有更新就会恢复。我不确定MSAL是否支持
form\u post
(阅读:我在代码中的任何地方都找不到引用)。确实如此,您只需将其添加到extraQueryParameters字段:wait client.GetAuthorizationRequestUrlAsync(scopes,null,“response_mode=form_post”);谢谢你,马克,这是正确的答案:)我已经测试了它,并使它成功运行。另一个可能的答案是使函数匿名;这允许在不传递代码参数的情况下调用端点,让我们将其用于图形标记:)
https://myapp/api/processCode?code=FUNCTIONS-KEY&graphcode=GRAPH-CODE