Oauth2 refresh_token不存在:微软账号登录未获refresh_token原因咨询
微软OAuth2登录无法获取refresh_token的原因分析
未添加
offline_access权限
微软OAuth2 v2.0协议明确要求,若要获取refresh_token,必须在授权请求的scope参数中包含offline_access。你当前的scope仅指定了IMAP访问权限,缺少这个核心权限,因此授权服务器不会返回refresh_token。修改后的示例代码
将scope补充offline_access即可,示例如下:$login = 'https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxxxxxxxxx/oauth2/v2.0/authorize?'.http_build_query([ 'client_id' => $id, 'scope' => 'offline_access https://outlook.office.com/IMAP.AccessAsUser.All', 'redirect_uri' => $redirect, 'response_type' => 'code', ]);
内容的提问来源于stack exchange,提问作者user19818308
相关产品推荐
相关产品推荐

