12.2.2. 内部令牌交换
对于内部令牌交换的内部令牌,建议使用 标准令牌交换,而不是使用以下所述的传统令牌交换流。官方支持标准令牌交换。
使用内部令牌进行令牌交换,您已将令牌 mint 到一个特定的客户端,并且您想要为不同的目标客户端交换此令牌。您为什么要执行此操作?当客户端具有对其自身的令牌 mint 时,通常会发生这种情况,并且需要对访问令牌中需要不同声明和权限的其他应用程序发出额外的请求。如果您需要执行"权限降级",您可能需要进行"权限降级",因为应用程序需要在不太信任的应用程序上调用,而您不想传播当前的访问令牌。
12.2.2.1. 为交换授予权限 复制链接链接已复制到粘贴板!
希望为不同客户端交换令牌的客户端需要在 Admin 控制台中获得授权。您需要在目标客户端中定义令牌交换权限。
图 12.3. 目标客户端权限
流程
将" 启用" 的权限切换为 On。
图 12.4. 目标客户端权限
该页面显示 token-exchange 链接。
单击该链接,以开始定义权限。
这时将显示此设置页面。
图 12.5. 目标客户端交换权限设置
- 在屏幕顶部的面包屑导航栏中点 Client details。
- 为这个权限定义策略。
- 在屏幕顶部的面包屑导航栏中点 Authorization。
- 为这个权限定义策略。
- 点 Policies 选项卡。
点 Create policy 按钮创建 客户端 策略。
图 12.6. 客户端策略创建
- 在作为请求令牌交换的经过身份验证的用户中输入。
创建此策略后,返回到目标客户端的 token-exchange 权限,并添加您刚才定义的客户端策略。
图 12.7. 应用客户端策略
您的客户端现在有调用的权限。如果不正确这样做,如果您尝试进行交换,您将会收到 403 Forbidden 响应。