Authing 知识库
🛠 开发资源🥂 集成案例🔭 常见问题🖥 控制台
1.0.0
1.0.0
  • 欢迎
  • Authing 概述
  • 快速开始
    • 第一个应用
    • 基础概念
    • 实现单点登录
    • 控制台概览
    • 部署模型
  • 进阶指南
    • 理解认证和授权
      • 用户名 - 密码认证
      • 邮箱 - 密码认证
      • 手机 - 验证码认证
      • JWT Token 释义及使用
      • 验证 JWT Token
    • 配置用户权限
    • 最佳开发实践
    • 接入小程序扫码登录
      • 接入私有化小程序
    • 接入社会化登录
    • 接入 OAuth 2.0
      • 创建 OAuth 应用
      • 使用 OAuth 授权
    • 接入 OpenID Connect
      • 创建 OIDC 应用
      • 使用 OIDC 授权
      • 理解 OIDC 流程
      • OIDC 常见问题
    • 配置 LDAP 服务
    • 使用 Authing 的 LDAP 用户目录
    • 接入 SAML
      • 创建 SAML Identity Provider 应用
      • 创建 SAML Service Provider 应用
      • 理解 SAML 流程
      • 同时使用 Authing 作为 SP 和 IdP
      • 使用 SAML Identity Provider
        • 在阿里云访问管理中使用
        • 在腾讯云访问管理中使用
        • 在 Auth0 中使用
      • 使用 SAML Service Provider
        • 与 Auth0 SAML IdP 对接
        • 与 SSOCircle SAML IdP 对接
    • 使用 Webhook
    • 错误代码
  • 开发资源
    • 开发资源
    • API(GraphQL)
    • Guard for Web
    • Guard VS 自定义 UI
    • SDK for Web
      • 读取/修改用户权限
      • 绑定社会化登录
      • 管理 MFA 口令
      • 自定义请求链接
    • SDK for 微信小程序
    • SDK for Java
    • SDK for Objective-C
    • SDK for Python
    • SDK for Go
    • SDK for PHP
    • 函数计算(FaaS)
  • 通信
    • 邮件
    • SMS
  • MFA
    • 配置 MFA 安全口令
    • 接入 MFA
  • 安全
    • 配置 Web 安全域
    • 配置用户池密码强度
    • 配置密码加密函数
  • 其他
    • 常见问题
    • 集成案例
      • 使用 Authing 补充 AWS 中国区 Cognito User Pool
    • 社交互联数据
      • Authing 与社交互联数据
    • 为 Authing 贡献 SDK
      • 了解 Authing 的模块
Powered by GitBook
On this page
  • OIDC 在后端如何处理
  • OIDC 三种认证流程的特征对比
  • 不同 response_type 对应的授权流程
  • 如何验证 Token 合法性
  • scope 参数对应的用户信息
  • 用户信息字段含义
  • id_token、access_token 和 token 之间的区别

Was this helpful?

  1. 进阶指南
  2. 接入 OpenID Connect

OIDC 常见问题

了解 OIDC 包含的常见问题,在开发时可以查阅此文档。

Previous理解 OIDC 流程Next配置 LDAP 服务

Last updated 5 years ago

Was this helpful?

OIDC 在后端如何处理

请参考 Github 上的示例:

OIDC 三种认证流程的特征对比

特性

授权码流程

隐式流程

混合流程

所有 token 全部从授权路由返回

no

yes

no

所有 token 都从 token 路由返回

yes

no

no

token 不会暴露给前端

yes

no

no

客户端可以被 AP 认证

yes

no

yes

可以刷新 token

yes

no

yes

一次交互

no

yes

no

必须服务器-服务器通信

yes

no

varies

不同 response_type 对应的授权流程

"response_type" value

Flow

code

Authorization Code Flow(授权码流程)

id_token

Implicit Flow(隐式流程)

id_token token

Implicit Flow(隐式流程)

code id_token

Hybrid Flow(混合流程)

code token

Hybrid Flow(混合流程)

code id_token token

Hybrid Flow(混合流程)

如何验证 Token 合法性

scope 参数对应的用户信息

scope 名称

对应信息

address

address

email

email,email_verified

phone

phone_number, phone_number_verified

profile

birthdate,family_name,gender,given_name,locale,middle_name,name,nickname,picture,preferred_username,profile,updated_at,website,zoneinfo

offline_access

token 接口返回 refresh_token 字段

unionid

unionid

用户信息字段含义

字段名

翻译

sub

唯一标识

openid

openid

unionid

unionid

name

姓名

given_name

名字

family_name

姓氏

middle_name

中间名

nickname

昵称

preferred_username

希望被称呼的名字

profile

基础资料

picture

头像

website

网站链接

email

电子邮箱

email_verified

认证邮箱

gender

性别

birthdate

生日

zoneinfo

时区

locale

区域

phone_number

手机号

phone_number_verified

认证手机号

address

地址

formatted

详细地址

street_address

街道地址

locality

城市

region

省

postal_code

邮编

country

国家

updated_at

信息更新时间

id_token、access_token 和 token 之间的区别

当你需要向 Authing 服务器请求属于该用户的资源时,需要携带 access_token,拥有 access_token,你就能够以终端用户的身份,访问位于 Authing 服务器上属于他的资源。

请参考:。

当你需要向你自己的服务器请求资源时,应该携带 id_token,同时你的服务器应该,然后再返回相应资源。id_token 相当于终端用户的身份证,用于认证用户身份。

当你需要向 Authing 服务器请求属于该用户的资源时,也可以携带 token。终端用户完成登录后,你的应用前端通过 中的 trackSession 函数能够直接获取到用户信息,其中的 token 字段,相当于 Authing 与该终端用户维持内部会话状态的 Cookie。

oidc-demo
参考 OIDC 规范
使用 OIDC 应用的密钥验证 Token 合法性
参考 OIDC 规范
检验此 token 的合法性
AuthingSSO SDK