跳到主要内容
版本:4.1

使用身份提供商发起的登录

本主题介绍如何使用 UAA 作为授权服务器,以及一个示例 Node.js Web 应用程序作为 Web 门户,来设置身份提供商发起的登录。

Web 门户充当身份提供商,允许用户通过使用先前从授权服务器获得的 OAuth 2.0 令牌,单击一下即可访问管理 UI。

      | Idp (for example, UAA) |
/\
| 2. get token
|
| Web app Portal | ---------> | RabbitMQ | <---+
/\ | | | 4. 302 direct to overview page
| | | | with cookie
| | +-----------+
| |
1. user requests 3. POST https://rabbitmq:15671/login
access with access_token
to the management UI

从浏览器访问管理 UI。

遵循本指南的先决条件

  • Docker
  • GitHub 仓库分支 next 的本地克隆,其中包含本示例中使用的所有配置文件和脚本GitHub repository
信息

用于启动 UAA、RabbitMQ 和 Web 门户的命令会自动生成 HTTPS 所需的 x.509 证书。

部署 UAA

要启动 UAA,请运行

make start-uaa

要检查 UAA 是否正在运行,请运行

docker ps | grep uaa

部署 RabbitMQ

要启动 RabbitMQ,请运行

export MODE=portal
OAUTH_PROVIDER=uaa make start-rabbitmq
提示

通过在 docker logs rabbitmq 中搜索 Running RabbitMQ (<image>:<image_tag>) with,确保 RabbitMQ 部署的版本符合您的预期。

信息

要启动特定版本的 RabbitMQ,请改为运行此命令

MODE=portal OAUTH_PROVIDER=uaa IMAGE=rabbitmq IMAGE_TAG=<YourVersion> make start-rabbitmq

部署门户

要启动门户,请运行

make start-portal

验证管理 UI 流程

要验证管理 UI 流程

  1. 转到门户 https://localhost:3000
  2. 单击按钮 https://localhost:15671 for rabbit_idp_user,这会将您重定向到已完全验证身份的 RabbitMQ 管理 UI。
信息

rabbit_idp_user 是门户网站用于获取访问令牌以测试此流程的 OAuth 客户端。此 OAuth 客户端在 UAA 中声明。

警告

当您访问 https://localhost:3000 时,由于错误 net::ERR_CERT_AUTHORITY_INVALID,您会收到浏览器警告。这是因为门户网站正在使用自签名证书。单击 Proceed to localhost (unsafe) 以接受它。

© . All rights reserved.