Authing 文档文档
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
旧版
加入 APN
  • 概览
  • 将你的应用集成 OIDC
  • 基于 Authing 测试 OIDC 能力

  • 加入 APN 前的注意事项
  • 邀请管理员
  • 提交应用
  • 更多 OIDC 测试方法

    • Type 2 授权码 + PKCE 模式测试
    • Type 3 隐式模式测试
    • Type 4 密码模式测试
    • Type 5 Client Credentials 模式测试
  1. 加入 APN
  2. /
  3. 更多 OIDC 测试方法
  4. /
  5. Type 3 隐式模式测试

¶ Type 3 隐式模式测试

更新时间: 2025-02-18 09:00:47
编辑

建议:

如果你的应用是一个 SPA 前端应用,不具备后端服务,建议使用隐式模式来完成用户的认证和授权。隐式模式适合不能安全存储密钥的场景(例如前端浏览器)。在隐式模式中,应用不需要使用 code 换 token,无需请求 /token 端点,AccessToken 和 IdToken 会直接从认证端点返回。

注:在 OIDC 隐式模式下,为了保证安全性,你的前端应用必须是 HTTPS 协议

在 Authing 设置你的应用程序的认证方式:

type3-1

接下来就可以开始测试了。

¶ 1. 配置你的 OIDC 身份提供商

让你的应用程序支持 OIDC 协议的之前,首先需要在你的前端应用程序配置以下信息:

// OIDC 身份提供商的配置信息端点
OIDC_ISSUER: https://oidc-demo-1.authing.cn/oidc
// OIDC 身份提供商的唯一标识符 ID
OIDC_CLIENT_ID: xxxxxxxxxxxxxx

¶ 2. 获取 OIDC 身份提供商提供给你的配置信息

/.well-known/openid-configuration 是一个标准的 OIDC 端点,用于获取关于 OIDC 身份提供商的所有必要的端点和公钥位置信息。

通过 HTTP GET 请求获取你的 OIDC 身份提供商的配置信息:

GET {你的 OIDC_ISSUER}/.well-known/openid-configuration HTTP/1.1

请求成功后,你将会得到以下配置信息:

type3-2

¶ 3. 发起 OIDC 隐式模式的认证

通过第二步获取的 openid-configuration,你需要使用其中的 authorization_endpoint 认证端点信息拼接的认证地址来完成 OIDC 的认证操作。

OIDC 隐式模式认证地址的示例如下:

{AUTHORIZATION_ENDPOINT}?nonce={NONCE}&scope={SCOPES_SUPPORTED}&client_id={OIDC_CLIENT_ID}&redirect_uri={YOUR_APPLICATION_URL}&response_type=id_token+token

最终拼接出来的 OIDC 认证地址如下所示:

https://oidc-demo-1.authing.cn/oidc/auth?nonce=4481594720762121&scope=openid+profile+email+phone+address&client_id=60d6c2e2979ca8666354b225&redirect_uri=https%3A%2F%2Fwww.myapp.com&response_type=id_token+token

参数说明:

// 通过第二步获取的 openid-configuration 中的 authorization_endpoint 字段
https://oidc-demo-1.authing.cn/oidc/auth
// 随机字符串
nonce=4481594720762121
// 通过第二步获取的 openid-configuration 中的 scopes_supported 字段
scope=openid+profile+email+phone+address
// 你配置的 OIDC 身份提供商的唯一标识符 ID
client_id=60d6c2e2979ca8666354b225
// 你的应用的地址
redirect_uri=https://www.myapp.com
// 使用隐式模式进行认证
response_type=id_token+token

访问上面的地址,你将会看到 Authing 的登录认证页。

type3-3

使用 OIDC 身份提供商的用户登录(Authing 上创建的用户账号)。

type3-4

登录成功后,你的 SPA 前端应用将会以 url hash 的方式接收到以下信息,其中包括了 access_token、id_token 等。

type3-5

¶ 4. 使用 AccessToken 获取用户信息

当你的前端应用程序通过 url hash 获取到了 AccessToken 后,接下你需要使用 AccessToken 换取用户信息。

这时你需要发送一个 HTTP GET 请求,格式如下:

// 通过第二步获取的 openid-configuration 中的 userinfo_endpoint 字段
GET https://oidc-demo-1.authing.cn/oidc/me HTTP/1.1
params:
    // 通过第三步获取的 access_token 字段
    access_token:xxxxxxxxxxxxxxxxxxxxxx

请求成功后,你将会得到以下信息,其中当前登录用户的相关信息。

type3-6

恭喜你,你的应用已经拥有 OIDC 能力。

¶ 5. 使用 OIDC 完成用户退出登录

当完成前四步操作后,已经让你的应用实现了通过 OIDC 标准协议认证用户的能力。

接下来你需要使用 OIDC 完成用户退出登录的操作。

这时候你需要发送一个 HTTP GET 请求,请求格式如下:

// 通过第二步获取的 openid-configuration 中的 end_session_endpoint 字段
GET https://oidc-demo-1.authing.cn/oidc/session/end HTTP/1.1

请求成功后,你将会看到如下界面:

type3-7

当你看到这个界面时,你已经完成了 OIDC 的用户登出。

上一篇: Type 2 授权码 + PKCE 模式测试 下一篇: Type 4 密码模式测试
  • 1. 配置你的 OIDC 身份提供商
  • 2. 获取 OIDC 身份提供商提供给你的配置信息
  • 3. 发起 OIDC 隐式模式的认证
  • 4. 使用 AccessToken 获取用户信息
  • 5. 使用 OIDC 完成用户退出登录

用户身份管理

集成第三方登录
手机号闪验 (opens new window)
通用登录表单组件
自定义认证流程

企业内部管理

单点登录
多因素认证
权限管理

开发者

开发文档
框架集成
博客 (opens new window)
GitHub (opens new window)
社区用户中心 (opens new window)

公司

400 888 2106
sales@authing.cn
北京市朝阳区北辰世纪中心 B 座 16 层(总)
成都市高新区天府五街 200 号 1 号楼 B 区 4 楼 406 室(分)

京ICP备19051205号

beian京公网安备 11010802035968号

© 北京蒸汽记忆科技有限公司