You need to enable JavaScript to run this app. 如何使用Postman登录Angular ASP.NET CORE应用获取访问Token
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Postman登录Angular ASP.NET CORE应用获取访问Token

问题解决指南

1. 405错误的根源

你访问/connect/token返回405是因为这个接口仅接受POST请求,你之前用GET方式调用自然会返回方法不允许的错误。

2. 提前获取配置参数

你需要的所有默认参数都可以在项目根目录的appsettings.json里找到,脚手架默认生成的IdentityServer配置段如下:

"IdentityServer": {
  "Clients": {
    "你的项目名称": {
      "Profile": "IdentityServerSPA"
    }
  }
}

不需要额外修改代码的前提下,默认参数值如下:

  • 授权类型:选择Authorization Code(授权码模式)即可,和内置Angular端用的模式完全一致
  • 授权URL:https://你项目运行的localhost地址/connect/authorize
  • 令牌URL:https://你项目运行的localhost地址/connect/token
  • 客户端ID:就是你创建项目时输入的项目名称,和上面配置里的键名完全一致
  • 回调URL:默认可以直接用Postman官方回调地址https://oauth.pstmn.io/v1/callback,需要提前把这个地址加到IdentityServer客户端的允许跳转列表里
  • 权限范围(Scope):填openid profile 你的项目名称API,后缀API是脚手架默认生成的规则
  • 客户端密钥:默认SPA客户端不需要填写,留空即可

注意:请确保你调用的地址用的是HTTPS,默认IdentityServer配置会拒绝HTTP请求,用HTTP地址调用会出现跨域或者授权失败的问题。如果你不知道项目运行的端口,可以查看Properties/launchSettings.json文件里的配置。

3. Postman获取Token步骤

  • 打开Postman,新建任意请求,切换到「Authorization」标签页
  • 授权类型选择「OAuth 2.0」,点击右侧「Get New Access Token」按钮
  • 在弹出的表单中按以下内容填写:
    • Token Name:自定义名称即可,比如测试Token
    • Grant Type:选择Authorization Code
    • Callback URL:填https://oauth.pstmn.io/v1/callback
    • Auth URL:填你项目的HTTPS授权地址,比如https://localhost:5001/connect/authorize
    • Access Token URL:填https://localhost:5001/connect/token
    • Client ID:填你的项目名称
    • Scope:填openid profile 你的项目名称API
    • 其余字段保持默认留空即可
  • 点击「Get New Access Token」按钮,会弹出登录页面,输入你已经注册好的账号密码完成登录和授权,就能拿到可用的Token
  • 拿到Token后点击「Use Token」,后续所有请求就会自动带上这个Token完成身份校验

4. 免跳转密码模式配置(可选)

如果你不想每次获取Token都跳登录页,可以额外配置密码授权模式,只需要修改Startup.cs里的IdentityServer配置即可:

services.AddIdentityServer()
    .AddApiAuthorization<ApplicationUser, erp_colombiaDbContext>()
    // 新增密码验证支持
    .AddResourceOwnerValidator<ResourceOwnerPasswordValidator<ApplicationUser>>()
    .AddInMemoryClients(new[] {
        new Client
        {
            ClientId = "postman_test",
            AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
            ClientSecrets = { new Secret("test123456".Sha256()) },
            AllowedScopes = { "openid", "profile", "你的项目名称API" },
            AccessTokenLifetime = 3600
        }
    });

配置完成后Postman里Grant Type选择Password Credentials,填写ClientID为postman_test、Client Secret为test123456,再输入用户名和密码就能直接获取Token,不需要跳转登录页。

内容的提问来源于stack exchange,提问作者J.C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 07:18:00