私は、雇用者が他社に販売する製品にMicrosoft OneDriveサポートを追加しています。設計とプロトタイプの段階を経て、自分の個人アカウントを使用してアプリケーション登録したときに得たアプリケーションIDを使用していました。今、私は実際に製品にコードを追加する作業をしており、企業のOffice365アカウントを通じて(他の人によって)アプリケーション登録によって得られたアプリケーションIDを使用しています。Microsoft OAuth2認証がリフレッシュトークンを返さない
これらの2つのアプリケーション登録の間の認証クエリの結果に違いがあります。私は原因を突き止めようとしています。私はここの誰かが助けてくれることを願っています。
私の個人アカウントから登録を使用したとき、私はMicrosoftのオンラインドキュメントに記載されている/token
のURLからすべてのデータ項目を受け取りました。企業アカウントから登録を使用するように切り替えたとき、アプリケーションID以外のコードで何も変更しないと、私はrefresh_token
の値を取得しません。両方のテストで同じログイン資格情報を使用していました。私の個人的な登録を使用する場合
は、ここでの情報です:
URL: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"
}
ここでの情報です:
URL:https://login.microsoftonline.com/common/oauth2/v2.0/token
リクエストボディ:grant_type=authorization_code&client_id={YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY}&code=YYYYYYYYYYYYYY...YYYYYYYYYYYYYYY
リクエストの応答:client_id
とcode
の値以外
{
"token_type":"Bearer",
"scope":"https://graph.microsoft.com/files.readwrite.all",
"expires_in":3599,
"ext_expires_in":0,
"access_token":"YYYYYYYYYYYYYY...YYYYYYYYYYYYYYY"
}
、異なっている唯一のものは、Aを使用してアプリケーション登録(一つです個人用のアカウントと企業用のOffice365アカウントを使用するアカウント)。これの原因は何でしょうか?法人口座からの登録に何か不足していますか?
私は法人登録を閲覧する権限がありませんので、私が自分の個人的な登録に加えたものと比較することはできません。私は彼らにすべての関連情報を与えましたが、私は彼らが私が尋ねたすべてをしたかどうかわかりません。