@nocobase/plugin-oidc (0.21.12)

Published 2024-04-16 14:13:53 +08:00 by sealday

Installation

@nocobase:registry=
npm install @nocobase/plugin-oidc@0.21.12
"@nocobase/plugin-oidc": "0.21.12"

About this package

OIDC

提供标准Open ConnectID接入登录功能。
本插件登录流程使用授权码模式 (Authorization Code Flow).

依赖

  • @nocobase/plugin-auth 提供表,模型函数复用等

使用方法

以Sign in with Google为例
https://developers.google.com/identity/openid-connect/openid-connect

获取Google OAuth 2.0凭据

Google Cloud控制台 - 创建凭据 - OAuth客户端ID

进入到配置界面,填写授权重定向URL. 重定向URL可以在Nocobase,新增认证器时获取,通常情况下为http(s)://host:port/api/oidc:redirect.

完成后复制客户端ID客户端密钥

在NocoBase上新增认证器

插件设置 - 认证 - 新增 - OIDC

依次填写
  • Issuer - issuer由IdP提供,通常以/.well-known/openid-configuration结尾,Google的为https://accounts.google.com/.well-known/openid-configuration
  • Client ID - 客户端ID
  • Client Secret - 客户端密钥
  • scope - 选填,默认为openid email profile
  • id_token signed response algorithm - id_token的签名方法,默认为RS256
  • HTTP - 回调地址是否为http协议,默认https
  • Port - 回调地址端口,默认为443/80
  • Field Map - 如果需要将用户相关字段映射,可以在这里配置,默认昵称为openid.

在有email的情况下,登录时将尝试匹配已有用户,否则创建新用户。

Dependencies

Development Dependencies

ID Version
@ant-design/icons ~5.3.6
@formily/antd-v5 1.x
@nocobase/schema 0.21.12
ahooks ^3.7.2
antd 5.16.1
nanoid 3.3.4
openid-client ^5.4.2
react ~18.2.0
react-i18next ^11.15.1
react-router-dom ^6.11.2

Peer Dependencies

ID Version
@nocobase/actions 0.21.12
@nocobase/auth 0.21.12
@nocobase/client 0.21.12
@nocobase/database 0.21.12
@nocobase/plugin-auth 0.21.12
@nocobase/server 0.21.12
@nocobase/test 0.21.12

Keywords

Authentication
Details
npm
2024-04-16 14:13:53 +08:00
0
AGPL-3.0
latest
101 KiB
Assets (1)
Versions (1) View all
0.21.12 2024-04-16