Skip to content

class Client

cangjie
public class Client

功能:表示身份服务中的客户端配置。

成员概览

成员功能
init()创建空的客户端配置。
init(String, Array<Secret>)使用客户端标识和密钥创建客户端配置。
var clientId保存客户端标识。
var clientName保存客户端显示名称。
var description保存客户端描述信息。
var clientUri保存客户端站点或帮助页地址。
var protocolType保存客户端协议类型。
var enabled标识当前客户端是否启用。
var requireSecret标识当前客户端是否要求使用密钥。
var requireConsent标识当前客户端是否需要用户同意。
var consentLifetime保存用户同意记录的有效时长。
var allowOfflineAccess标识当前客户端是否允许离线访问。
var allowedClaims保存客户端可携带的声明列表。
var allowedScopes保存客户端允许申请的作用域列表。
var clientSecrets保存客户端可用的密钥列表。
var allowedGrantTypes保存客户端允许使用的授权类型列表。
var allowedRedirectUris保存客户端允许的回调地址列表。
var postLogoutRedirectUris保存注销后允许跳转的地址列表。
var accessTokenLifetime保存访问令牌生命周期。
var identityTokenLifetime保存身份令牌生命周期。
var authorizationCodeLifetime保存授权码生命周期。
var refreshTokenLifetime保存兼容字段中的刷新令牌生命周期。
var absoluteRefreshTokenLifetime保存绝对刷新令牌生命周期。
var slidingRefreshTokenLifetime保存滑动刷新令牌生命周期。
var refreshTokenUsage保存刷新令牌使用策略。
var refreshTokenExpiration保存刷新令牌过期策略。
var requirePkce标识当前客户端是否强制要求 PKCE。
var allowPlainTextPkce标识当前客户端是否允许明文 PKCE 挑战方法。

init()

cangjie
public init()

功能:创建空的客户端配置。

init(String, Array<Secret>)

cangjie
public init(clientId: String, clientSecrets: Array<Secret>)

功能:使用客户端标识和密钥创建客户端配置。

参数:

  • clientId: String - 客户端标识。
  • clientSecrets: Array<Secret> - 客户端密钥列表。

var clientId

cangjie
public var clientId = String.empty

功能:保存客户端标识。

var clientName

cangjie
public var clientName = String.empty // P0: 客户端显示名称

功能:保存客户端显示名称。

var description

cangjie
public var description = String.empty // 客户端描述

功能:保存客户端描述信息。

var clientUri

cangjie
public var clientUri = String.empty // 客户端 URI(官网、帮助页面等)

功能:保存客户端站点或帮助页地址。

var protocolType

cangjie
public var protocolType = "oidc" // P0: 协议类型(默认 oidc)

功能:保存客户端协议类型。

var enabled

cangjie
public var enabled: Bool = true

功能:标识当前客户端是否启用。

类型:Bool

var requireSecret

cangjie
public var requireSecret = true

功能:标识当前客户端是否要求使用密钥。

var requireConsent

cangjie
public var requireConsent = false

功能:标识当前客户端是否需要用户同意。

var consentLifetime

cangjie
public var consentLifetime: ?Int64 = None

功能:保存用户同意记录的有效时长。

类型:?Int64

var allowOfflineAccess

cangjie
public var allowOfflineAccess = false

功能:标识当前客户端是否允许离线访问。

var allowedClaims

cangjie
public var allowedClaims: Array<Claim> = []

功能:保存客户端可携带的声明列表。

类型:Array<Claim>

var allowedScopes

cangjie
public var allowedScopes: Array<String> = []

功能:保存客户端允许申请的作用域列表。

类型:Array<String>

var clientSecrets

cangjie
public var clientSecrets: Array<Secret> = [] // 客户端密钥列表

功能:保存客户端可用的密钥列表。

类型:Array<Secret>

var allowedGrantTypes

cangjie
public var allowedGrantTypes: Array<String> = []

功能:保存客户端允许使用的授权类型列表。

类型:Array<String>

var allowedRedirectUris

cangjie
public var allowedRedirectUris: Array<String> = []

功能:保存客户端允许的回调地址列表。

类型:Array<String>

var postLogoutRedirectUris

cangjie
public var postLogoutRedirectUris: Array<String> = [] // P0: 注销后重定向 URI 列表

功能:保存注销后允许跳转的地址列表。

类型:Array<String>

var accessTokenLifetime

cangjie
public var accessTokenLifetime = 3600 // 访问令牌生命周期(默认 1 小时)

功能:保存访问令牌生命周期。

var identityTokenLifetime

cangjie
public var identityTokenLifetime = 300 // P0: ID Token 生命周期(默认 5 分钟)

功能:保存身份令牌生命周期。

var authorizationCodeLifetime

cangjie
public var authorizationCodeLifetime = 300 // 授权码生命周期(默认 5 分钟)

功能:保存授权码生命周期。

var refreshTokenLifetime

cangjie
public var refreshTokenLifetime = 3600 * 24 * 15 // 已废弃:使用 slidingRefreshTokenLifetime

功能:保存兼容字段中的刷新令牌生命周期。

var absoluteRefreshTokenLifetime

cangjie
public var absoluteRefreshTokenLifetime = 2592000 // P0: 绝对刷新令牌生命周期(默认 30 天)

功能:保存绝对刷新令牌生命周期。

var slidingRefreshTokenLifetime

cangjie
public var slidingRefreshTokenLifetime = 1296000 // P0: 滑动刷新令牌生命周期(默认 15 天)

功能:保存滑动刷新令牌生命周期。

var refreshTokenUsage

cangjie
public var refreshTokenUsage = RefreshTokenUsage.ReUse

功能:保存刷新令牌使用策略。

var refreshTokenExpiration

cangjie
public var refreshTokenExpiration = RefreshTokenExpiration.Absolute

功能:保存刷新令牌过期策略。

var requirePkce

cangjie
public var requirePkce = false // 是否强制要求 PKCE

功能:标识当前客户端是否强制要求 PKCE。

var allowPlainTextPkce

cangjie
public var allowPlainTextPkce = true // 是否允许 plain 方法(默认允许,但建议只允许 S256)

功能:标识当前客户端是否允许明文 PKCE 挑战方法。