当前位置: 首页 > 知识库问答 >
问题:

Spotify API:无法使用隐式授权流的访问令牌

萧献
2023-03-14

我使用隐式授权流将Spotify API与AngularJS结合使用,但我不能使用access_token。

我以这种方式实现了隐性拨款流:

const hash = window.location.hash
.substring(1)
.split('&')
.reduce(function (initial, item) {
  if (item) {
    var parts = item.split('=');
    initial[parts[0]] = decodeURIComponent(parts[1]);
  }
  return initial;
}, {});
window.location.hash = '';

// Set token
let _token = hash.access_token;

const authEndpoint = 'https://accounts.spotify.com/authorize';

// Replace with your app's client ID, redirect URI and desired scopes
const clientId = 'bcb7a7...13727c';
const redirectUri = 'http://localhost/~mathieu/';
const scopes = [
  'user-read-birthdate',
  'user-read-email',
  'user-read-private'
];

// If there is no token, redirect to Spotify authorization
if (!_token) {
  window.location = `${authEndpoint}?client_id=${clientId}&redirect_uri=${redirectUri}&scope=${scopes.join('%20')}&response_type=token`;
}

当我上网址时,我被很好地重定向到Spotify认证,但当我连接时,浏览器进入重定向循环:Spotify将我重定向到localhost/~mathieu这将我重定向到Spotify等…

我想在Spotify重定向我之后,我的脚本无法获取令牌,所以我再次被重定向,但我找不到解决方案。

请帮帮我

共有1个答案

百里意智
2023-03-14

如果您使用角度路由器,路由器可能会在代码获取URL值之前删除URL的哈希值。您需要确保此代码在角度路由器代码运行之前运行。或者,您可以连接到角度路由器并在那里检索哈希值。这个问题似乎表明这是可能的。

 类似资料:
  • 我想要一些关于如何在隐式授予流中使用ID令牌和访问令牌的澄清。我有一个使用msal.js for Angular包的Angular SPA和一个Web API。API不调用任何外部服务,如MSFT Graph。后端仅使用JWT中的角色声明来建立对API功能的RBAC授权。 这个文档写着:https://docs.microsoft.com/en-us/azure/active-directory/

  • 我正在尝试在多租户应用程序中实现 OAuth 2.0 授权代码流。 我首先在 请求了“openid 配置文件电子邮件”范围的授权,然后使用我获得的代码以及 、client_id、client_secret redirect_uri 作为访问令牌 我得到的响应只包含< code>id_token和< code>token_type=Bearer。为什么没有给我< code>access_token和

  • 我有一个内置Java的Web API,它可以将数据库信息返回给SPA。在发送响应之前,我需要使用AAD Graph API检查用户的组信息。现在,Web API接受请求并读取用户的令牌(eyJ…)。 应用程序准备好代表用户向Graph API发送请求的下一步是什么? 我已经尝试使用用户的令牌发送带有授权:承载ey...标头的请求,但收到Authentication_MissingOrMalform

  • 我正在尝试授权我使用 OAuth 1.0a 进行服务。我可以执行令牌和步骤,但是当我调用 URL 时,我收到 401 未授权响应,并显示以下消息: 我已经屏蔽了凭证和URL。 请求令牌 URL:https://url-to-the-service.com/oauth/requestToken 授权令牌 URL:https://url-to-the-service.com/oauth/authori

  • 我遇到了使用文档签名 API 的第一个障碍,需要一些帮助。 我将docusignrestapi集合导入到Postman中。我设置了iKey、iSec、encodedKeys和codeFromUrl变量。 当尝试发送'01-授权代码授予访问令牌'post API时,我每次都得到以下响应。 我尝试从Postman中删除所有内容,包括环境,并从DocuSign中删除该应用程序,然后重新开始,以便我的所有

  • 隐式许可是为用如JavaScript等脚本语言在浏览器中实现的客户端而优化的一种简化的授权码流程。在隐式许可流程中,不再给客户端颁发授权码,取而代之的是客户端直接被颁发一个访问令牌(作为资源所有者的授权)。这种许可类型是隐式的,因为没有中间凭据(如授权码)被颁发(之后用于获取访问令牌)。 当在隐式许可流程中颁发访问令牌时,发授权服务器不对客户端进行身份验证。在某些情况下,客户端身份可以通过用于向客