首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Identity Duende Server获取客户端令牌

从Identity Duende Server获取客户端令牌
EN

Stack Overflow用户
提问于 2022-12-02 12:12:51
回答 1查看 17关注 0票数 0

对于一个项目,我正在运行一个.NET API服务器,,客户端是一个角度应用程序。

当有用户登录时,客户端应用程序可以执行所有CRUD操作,当没有用户登录时,它只能执行读取操作。

首先,我将授权装饰器放在只有登录用户才能访问的端点上。

但这意味着任何知道端点urls的人都可以访问该信息。这不是一个很好的做法,所以如果没有用户登录,我希望用我的请求发送一个客户端令牌,因此在我的API服务器上,我可以在我的端点上正确地响应。

我可以在邮递员中这样做,方法是按照以下方式配置我的新令牌:

PostMan截图

然后使用令牌对API执行读取操作。

但我无法以角度再现这一现象。到目前为止,这是我的代码:

`

代码语言:javascript
复制
getToken() {
    const headers = new HttpHeaders();
    headers.set('Authorization', `Basic client:secret`);
    headers.set("Content-Type", "application/json");
    const requestOptions = { headers: headers };
    let body = {
      "grant_type": "client_credentials",
      "client_id": "client",
      "client_secret": "secret",
      "scopes": "api",
      "response_type": "id_token token"
    }
    this.http.post("https://localhost:5001/connect/token", body, requestOptions).subscribe( result => {
       console.log(result);
     })
  }

‘我尝试了无数的变体,但是我一直得到一个状态代码400错误:“invalid_request”

EN

回答 1

Stack Overflow用户

发布于 2022-12-03 17:03:30

当您从JavaScript发出请求时,还需要正确配置CORS。邮递员不需要CORS,但是浏览器需要。

我将使用像https://www.telerik.com/fiddler这样的工具查看失败的请求和响应。

另外,也许在您的请求中发布一个示例响应?

我还会在IdentityServer中查看日志,以了解请求失败的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74655611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档