我正在为我们公司销售给其他公司的产品添加 Microsoft OneDrive 支持。在设计和原型制作阶段,我使用了通过个人账户进行的应用程序注册获得的应用程序 ID。现在,我正在实际将代码添加到我们的产品中,并且正在使用通过我们公司 Office365 账户(由他人)进行的应用程序注册获得的应用程序 ID。
我在这两个应用程序注册之间的身份验证查询结果有所不同。我正在尝试跟踪原因,希望有人能在这里提供帮助。
当我使用个人账户中的注册时,我从 Microsoft 在线文档中记录的
以下是在使用我的个人应用程序注册时的信息:
Url:
我在这两个应用程序注册之间的身份验证查询结果有所不同。我正在尝试跟踪原因,希望有人能在这里提供帮助。
当我使用个人账户中的注册时,我从 Microsoft 在线文档中记录的
/token
URL 中接收到所有数据项。但是当我切换到使用我们企业账户中的注册(除了应用程序 ID 以外没有改变代码),我就无法获得refresh_token
值。我对于这两个测试都使用了相同的登录凭据。以下是在使用我的个人应用程序注册时的信息:
Url:
https://login.microsoftonline.com/common/oauth2/v2.0/token
Request Body: grant_type=authorization_code&client_id={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}&code=XXXXXXXXXXXXXX...XXXXXXXXXXXXXXXX
Request Response:{
"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"
}
使用我们的企业注册信息时,以下是相关信息:
URL: 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 帐户)。这可能是什么原因?我们通过公司账户注册时有什么遗漏吗?我没有权限查看公司注册信息,因此无法比较他们提交的与我的个人注册信息有何不同。我将所有相关信息都提供给了他们,但我不知道他们是否按照我的要求做了一切。