0

这是代码:

"https://login.live.com/oauth20_authorize.srf?client_id=" +
 process.env.MIX_LIVE_CLIENT_ID +
 "&scope=service::user.auth.xboxlive.com::MBI_SSL&response_type=code&redirect_uri=" +
 process.env.MIX_LIVE_REDIRECT_URL +
 "&state=ClientStateGoesHere"

这是我在 microsoft azure 帐户中创建的范围。

范围=服务::user.auth.xboxlive.com::MBI_SSL

但是当使用 xbox 打开登录页面时出现以下错误。

https://example.com/sign-in?error=invalid_scope&error_description=The%20provided%20value%20for%20the%20input%20parameter%20%27scope%27%20has%20not%20been%20pre-authorized%20for%20this% 20client%20application.&state=ClientStateGoesHere

4

1 回答 1

1

可选信息

我对此进行了很多研究,发现 Xbox live 范围是一个已经在每个客户端中授权的服务范围。response_type但是服务范围在令牌中不起作用。它必须设置为response_type: 'code'

您的解决方案

将范围更改为 Azure AD 的实际服务范围,即XboxLive.signin另一个可选范围是XboxLive.offline_access获取刷新令牌。

顺便说一句,我猜service::user.auth.xboxlive.com::MBI_SSL需要 ID@Xbox 才能使用它。

于 2021-05-22T03:02:39.147 回答