【发布时间】:2019-11-12 23:20:36
【问题描述】:
我正在为我的雇主向其他公司销售的产品添加 Microsoft OneDrive 支持。当我完成设计和原型制作阶段时,我使用的应用程序 ID 是通过我使用个人帐户进行的应用程序注册获得的。现在,我正在努力将代码实际添加到我们的产品中,并使用通过(由其他人)通过我们的公司 Office365 帐户完成的应用程序注册获得的应用程序 ID。
我发现这两个应用程序注册之间的身份验证查询结果有所不同。我正在努力追查原因,希望这里有人能提供帮助。
当我从我的个人帐户使用注册时,我收到了来自 Microsoft 在线文档中记录的 /token url 的所有数据项。当我切换到使用我们公司帐户的注册时,除了应用程序 ID 之外没有更改代码中的任何内容,我没有得到 refresh_token 值。我在两个测试中使用了相同的登录凭据。
以下是使用我的个人注册时的信息:
网址:https://login.microsoftonline.com/common/oauth2/v2.0/token
请求正文:grant_type=authorization_code&client_id={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}&code=XXXXXXXXXXXXXX...XXXXXXXXXXXXXXXX
请求响应:
{
"token_type":"Bearer",
"scope":"https://graph.microsoft.com/files.readwrite.all",
"expires_in":3599,
"ext_expires_in":0,
"access_token":"XXXXXXXXXXXXXX...XXXXXXXXXXXXXXXX",
"refresh_token":"XXXXXXXXXXXXXX...XXXXXXXXXXXXXXXX"
}
以下是使用我们公司注册时的信息:
网址:https://login.microsoftonline.com/common/oauth2/v2.0/token
请求正文:grant_type=authorization_code&client_id={YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}&code=YYYYYYYYYYYYYY...YYYYYYYYYYYYYYY
请求响应:
{
"token_type":"Bearer",
"scope":"https://graph.microsoft.com/files.readwrite.all",
"expires_in":3599,
"ext_expires_in":0,
"access_token":"YYYYYYYYYYYYYY...YYYYYYYYYYYYYYY"
}
除了client_id 和code 的值之外,唯一不同的是应用程序注册(一个使用个人帐户,另一个使用公司Office365 帐户)。这可能是什么原因?通过我们的公司帐户注册是否缺少某些内容?
我没有查看公司注册的权限,因此我无法将他们提供的内容与我在个人注册中的内容进行比较。我向他们提供了所有相关信息,但我不知道他们是否按照我的要求做了。
【问题讨论】: