¶ 认证核心模块
此模块包含注册登录、重置手机号邮箱、修改账号信息等方法,是以你的终端用户(End User)的身份进行请求,适合在需要验证用户身份的情况下使用。
// 使用 AppId 和 appHost 进行初始化
AuthenticationClient authentication = new AuthenticationClient(APP_ID, APP_HOST);
¶ 使用邮箱注册
authenticationClient.registerByEmail(param)
使用邮箱注册,邮箱不区分大小写且用户池内唯一。此接口不要求用户对邮箱进行验证,用户注册之后 emailVerified 字段会为 false 。如果你希望邮箱未验证的用户不能进行登录,可以在用户池的设置 - 安全信息 中开启禁止未验证邮箱的用户登录选项:
¶ 参数
param
<RegisterByEmailInput>param.email
<String> 邮箱param.password
<String> 密码param.profile
<RegisterProfileInput> 用户资料param.forceLogin
<Boolean> 是否走一遍完整的登录的,会触发登录前后的 pipeline 函数以及登录事件 webhook ,同时该用户的累计登录次数会加 1。默认为 false。param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.context
<String> 请求上下文,这里设置的context
可以在 pipeline 的 context 中获取到。
¶ 示例
String email = "test@example.com";
String password = "123456";
User user = authenticationClient.registerByEmail(new RegisterByEmailInput(email, password)).execute();
¶ 使用用户名注册
authenticationClient.registerByUsername(param)
使用用户名注册,用户名区分大小写且用户池内唯一。
¶ 参数
param
<RegisterByUsernameInput>param.username
<String> 用户名param.password
<String> 密码param.profile
<RegisterProfileInput> 用户资料param.forceLogin
<Boolean> 是否走一遍完整的登录的,会触发登录前后的 pipeline 函数以及登录事件 webhook,同时该用户的累计登录次数会加 1。默认为 false。param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.context
<String> 请求上下文,这里设置的context
可以在 pipeline 的 context 中获取到。
¶ 示例
String username = "test";
String password = "123456";
User user = authenticationClient.registerByUsername(new RegisterByUsernameInput(username, password)).execute();
¶ 使用手机号注册
authenticationClient.registerByPhoneCode(param)
使用手机号注册,你可以同时设置该账号的初始密码。发送短信的接口请见 sendSmsCode
¶ 参数
param
<RegisterByPhoneCodeInput>param.code
<String> 短信验证码param.phone
<String> 手机号param.password
<String> 初始密码param.profile
<RegisterProfileInput> 用户资料param.forceLogin
<Boolean> 是否走一遍完整的登录的,会触发登录前后的 pipeline 函数以及登录事件 webhook,同时该用户的累计登录次数会加 1。默认为 false。param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.context
<String> 请求上下文,这里设置的context
可以在 pipeline 的 context 中获取到。
¶ 示例
String phone = "phone number";
String code = "1234";
String password = "123456";
RegisterByPhoneCodeInput param = new RegisterByPhoneCodeInput(phone, code).withPassword(password);
User user = authenticationClient.registerByPhoneCode(param).execute();
¶ 使用邮箱登录
authenticationClient.loginByEmail(param)
使用邮箱登录,该接口默认不会限制未验证的邮箱进行登录,如果你希望邮箱未验证的用户不能进行登录,可以使用 pipeline 对此类请求进行拦截。 如果你的用户池配置了登录失败检测,当同一 IP 下登录多次失败的时候会要求用户输入图形验证码(code 为 2000)。
¶ 参数
param
<LoginByEmailInput>param.email
<String> 邮箱param.password
<String> 密码param.autoRegister
<Boolean> 是否自动注册。如果检测到用户不存在,会根据登录账密自动创建一个账号。param.captchaCode
<String> 图形验证码param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.autoRegister
<Boolean> 是否自动注册。如果检测到用户不存在,会根据登录账密自动创建一个账号。param.captchaCode
<String> 图形验证码param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.context
<String> 请求上下文,这里设置的context
可以在 pipeline 的 context 中获取到。
¶ 示例
String email = "test@example.com";
String password = "123456";
User user = authenticationClient.loginByEmail(new LoginByEmailInput(email, password)).execute();
¶ 使用用户名登录
authenticationClient.loginByUsername(param)
使用用户名登录。如果你的用户池开启了登录失败检测,当同一 IP 下登录多次失败的时候会要求用户输入图形验证码(错误码 为 2000)。
¶ 参数
param
<LoginByUsernameInput>param.username
<String> 用户名param.password
<String> 密码param.autoRegister
<Boolean> 是否自动注册,如果检测到用户不存在,会根据登录账密自动创建一个账号。param.captchaCode
<String> 图形验证码param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.context
<String> 请求上下文,这里设置的context
可以在 pipeline 的 context 中获取到。
¶ 示例
String username = "username";
String password = "123456";
User user = authenticationClient.loginByUsername(new LoginByUsernameInput(username, password)).execute();
¶ 使用手机号验证码登录
authenticationClient.loginByPhoneCode(param)
使用手机号验证码登录。你需要先使用 sendSmsCode 方法发送短信验证码。
¶ 参数
param
<LoginByPhoneCodeInput>param.phone
<String> 手机号param.code
<String> 短信验证码,你可以通过 sendSmsCode 方法发送短信验证码。param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.context
<String> 请求上下文,这里设置的context
可以在 pipeline 的 context 中获取到。
¶ 示例
String phone = "phone number";
String code = "1234";
User user = authenticationClient.loginByPhoneCode(new LoginByPhoneCodeInput(phone, code)).execute();
¶ 使用手机号密码登录
authenticationClient.loginByPhonePassword(param)
如果用户绑定了手机号且设置了密码,可以使用手机号 + 密码的方式登录。如果你的用户池开启了登录失败检测,当同一 IP 下登录多次失败的时候会要求用户输入图形验证码(错误码 为 2000)。
¶ 参数
param
<LoginByPhonePasswordInput>param.phone
<String> 手机号param.password
<String> 密码param.captchaCode
<String> 图形验证码param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。param.context
<String> 请求上下文,这里设置的context
可以在 pipeline 的 context 中获取到。
¶ 示例
String phone = "phone number";
String password = "123456";
User user = authenticationClient.loginByPhonePassword(new LoginByPhonePasswordInput(phone, password)).execute();
¶ 子账号登录
authenticationClient.loginBySubAccount(param)
如果用户开启了子账号登录,可以使用子账号登录。如果你的用户池开启了登录失败检测,当同一 IP 下登录多次失败的时候会要求用户输入图形验证码(错误码 为 2000)。
¶ 参数
param
<LoginBySubAccountParam>param.account
<String> 子账号param.password
<String> 密码param.captchaCode
<String> 图形验证码param.clientIp
<String> 客户端真实 IP,如果你在服务器端调用此接口,请务必将此参数设置为终端用户的真实 IP。
¶ 示例
String account = "account number";
String password = "123456";
User user = authenticationClient.loginByPhonePassword(new LoginByPhonePasswordInput(account, password)).execute();
¶ 使用 LDAP 用户名登录
authenticationClient.loginByLdap(param)
使用 LDAP 身份源的账号密码登录。如果此账号第一次登录,将会将其用户信息导入到用户池的用户目录中;之后再次登录,将会根据获取到的最新的账号资料更新此账号的用户信息。 点此查看连接 LDAP 身份源文档。
¶ 参数
param
<LoginByLdapParam>param.username
<String> 用户名param.password
<String> 密码
¶ 示例
String username = "test";
String password = "test";
LoginByLdapParam loginByLdapParam = new LoginByLdapParam(username, password);
User user = authenticationClient.loginByLdap(loginByLdapParam).execute();
¶ 使用 AD 用户名登录
authenticationClient.loginByAd(username, password)
使用 AD 域的账号登录。如果此账号第一次登录,将会将其用户信息导入到用户池的用户目录中;之后再次登录,将会根据获取到的最新的账号资料更新此账号的用户信息。 点此查看连接 Active Directory 身份源文档。
¶ 参数
username
<String> 用户名password
<String> 密码
¶ 示例
String username = "test";
String password = "test";
User user = authenticationClient.loginByAd(username, password).execute();
¶ 获取当前登录的用户信息
authenticationClient.getCurrentUser()
获取当前登录用户的用户信息,需要 AuthenticationClient 当前处于已登录状态才能获取到。你可以通过两种方式设置 AuthenticationClient 的登录状态:
¶ 示例
User user = authenticationClient.getCurrentUser().execute();
¶ 判断是否登录
authenticationClient.checkLoggedIn()
判断是否登录
¶ 示例
Boolean b = authenticationClient.checkLoggedIn();
¶ 退出登录
authenticationClient.logout()
用于用户退出登录
- 清空该用户在当前应用下的 session 会话信息。
- 将用户当前的
id_token
标记为已失效,使用此id_token
将调用 Authing 接口无法获取到相关数据。
¶ 示例
authenticationClient.logout().execute();
¶ 获取当前用户的自定义数据列表
authenticationClient.listUdv()
获取当前用户的自定义数据列表 需要用户先登录
¶ 示例
authenticationClient.listUdv().execute();
¶ 添加用户自定义数据
authenticationClient.setUdv(key, value)
添加用户自定义数据 需要用户先登录
¶ 参数
key
<String> 自定义数据的 Keyvalue
<String> 自定义数据的 Value
¶ 示例
authenticationClient.setUdv("key", "value").execute();
¶ 获取用户所在组织机构数据列表
authenticationClient.listOrgs()
获取用户所在组织机构数据列表 需要用户先登录
¶ 示例
authenticationClient.listOrgs().execute();
¶ 发送短信验证码
authenticationClient.sendSmsCode(phone)
发送短信验证码, 目前仅支持国内手机号;该接口有接口频率限制,请勿频繁请求。
¶ 参数
phone
<String> 手机号码
¶ 示例
String phone = "phone number";
authenticationClient.sendSmsCode(phone).execute();
¶ 发送邮件
authenticationClient.sendEmail(email, scene)
主动发送邮件给用户,目前支持的 4 类邮件包含:重置密码邮件、验证邮箱邮件、修改邮箱验证码邮件、MFA 验证邮件。同时你可以自定义邮件模版和配置第三方邮件服务商。
¶ 参数
email
<String> 邮箱scene
<EmailScene> 发送场景,可选值为 RESET_PASSWORD(发送重置密码邮件,邮件中包含验证码)、VERIFY_EMAIL(发送验证邮箱的邮件)、CHANGE_EMAIL(发送修改邮箱邮件,邮件中包含验证码)RESET_PASSWORD
:发送重置密码邮件,邮件中包含验证码;VERIFY_EMAIL
:发送验证邮箱的邮件;CHANGE_EMAIL
:发送修改邮箱邮件,邮件中包含验证码;MFA_VERIFY
:发送 MFA 验证邮件。
¶ 示例
authenticationClient.sendEmail("test@example.com", EmailScene.RESET_PASSWORD).execute();
¶ 获取自定义数据
authenticationClient.getUdfValue()
获取用户的所有自定义数据。你需要先在用户池定义用户自定义数据元信息。
¶ 示例
Map resu = authenticationClient.getUdfValue().execute();
¶ 设置自定义数据
authenticationClient.setUdfValue(data)
设置用户的自定义字段。你需要先在用户池定义用户自定义数据元信息,且传入值的类型必须和定义的类型匹配。如果设置失败,会抛出异常,你需要对异常进行捕捉。
¶ 参数
data
<Map<String, String>> 输入数据,类型为一个对象,详情请见示例。
¶ 示例
Map<String, String> p = new HashMap();
p.put("dnum", "234");
List<UserDefinedData> result = this.authenticationClient.setUdfValue(p).execute();
¶ 删除自定义数据
authenticationClient.removeUdfValue(key)
删除自定义数据。
¶ 参数
key
<String> 自定义字段的 Key
¶ 示例
List<UserDefinedData> result = this.authenticationClient.removeUdfValue("URF_KEY").execute();
¶ 检测 Token 登录状态
authenticationClient.checkLoginStatus()
检测 Token 登录状态
¶ 示例
JwtTokenStatus status = authenticationClient.checkLoginStatus().execute();
¶ 示例数据
- 成功示例
{
"code": 200,
"message": "已登录",
"status": true,
"exp": 1620732833,
"iat": 1619523233
}
- 失败示例
{
"code": 2206,
"message": "登录信息已过期",
"status": false,
"exp": null,
"iat": null
}
¶ 通过短信验证码重置密码
authenticationClient.resetPasswordByPhoneCode(phone, code, newPassword)
通过短信验证码重置密码,你可以通过 sendSmsCode 方法发送短信验证码。
¶ 参数
phone
<String> 手机号code
<String> 验证码newPassword
<String> 新的密码
¶ 示例
String phone = "phone number";
String code = "1234";
String password = "123456";
authenticationClient.resetPasswordByPhoneCode(phone, code, password).execute();
¶ 通过邮件验证码重置密码
authenticationClient.resetPasswordByEmailCode(email, code, newPassword)
通过邮件验证码重置密码,你需要先调用 sendEmail 接口发送重置密码邮件(场景值为
RESET_PASSWORD
)。
¶ 参数
email
<String> 邮箱code
<String> 验证码newPassword
<String> 新的密码
¶ 示例
String email = "test@example.com";
String code = "1234";
String password = "123456";
authenticationClient.resetPasswordByEmailCode(email, code, password).execute();
¶ 修改用户资料
authenticationClient.updateProfile(updates)
修改用户资料,此接口不能用于修改手机号、邮箱、密码,如果需要请调用 updatePhone、updateEmail、updatePassword 接口。
¶ 参数
updates
<UpdateUserInput> 修改的用户资料updates.username
<String> 用户名updates.nickname
<String> 昵称updates.photo
<String> 头像updates.company
<String> 公司updates.browser
<String> 浏览器updates.device
<String> 设备updates.lastIP
<String> 最近登录的 IPupdates.name
<String> Nameupdates.givenName
<String> Given Nameupdates.familyName
<String> Family Nameupdates.formatted
<String> 详细地址updates.middleName
<String> Middle Nameupdates.profile
<String> Profile Urlupdates.preferredUsername
<String> Preferred Nameupdates.website
<String> 个人网站updates.gender
<String> 性别,M(Man) 表示男性、F(Female) 表示女性、未知表示 U(Unknown)。updates.birthdate
<String> 生日updates.zoneinfo
<String> 时区updates.locale
<String> 语言updates.address
<String> 地址updates.streetAddress
<String> 街道地址updates.locality
<String>updates.region
<String> 地域updates.postalCode
<String> 邮编updates.city
<String> 城市updates.province
<String> 省份updates.country
<String> 国家
¶ 示例
User user = authenticationClient.updateProfile(new UpdateUserInput().withNickname("nickname")).execute();
¶ 更新用户密码
authenticationClient.updatePassword(newPassword, oldPassword)
更新用户密码
¶ 参数
newPassword
<String> 新密码oldPassword
<String> 旧密码,如果用户没有设置密码,可以不填。
¶ 示例
String oldPassword = "111111";
String newPassword = "123456";
User user = authenticationClient.updatePassword(newPassword, oldPassword).execute();
¶ 绑定手机号
authenticationClient.bindPhone(phone, phoneCode)
用户初次绑定手机号,如果需要修改手机号请使用 updatePhone 方法。如果该手机号已被绑定,将会绑定失败。发送验证码请使用 sendSmsCode 方法。 终端用户也可以在个人中心自助绑定手机号:
¶ 参数
phone
<String> 手机号phoneCode
<String> 手机验证码
¶ 示例
User user = authenticationClient.bindPhone("phone number", "1234").execute();
¶ 解绑手机号
authenticationClient.unbindPhone()
用户解绑手机号,如果用户没有绑定其他登录方式(邮箱、社会化登录账号),将无法解绑手机号,会提示错误。 终端用户也可以在个人中心自助解绑手机号:
¶ 示例
User user = authenticationClient.unbindPhone().execute();
¶ 更新用户手机号
authenticationClient.updatePhone(phone, phoneCode, oldPhone, oldPhoneCode)
更新用户手机号。和修改邮箱一样,默认情况下,如果用户当前已经绑定了手机号,需要同时验证原有手机号(目前账号绑定的手机号)和当前邮箱(将要绑定的手机号)。 也就是说,用户 A 当前绑定的手机号为 15888888888,想修改为 15899999999,那么就需要同时验证这两个手机号。 开发者也可以选择不开启 “验证原有手机号“ ,可以在 Authing 控制台的设置目录下的安全信息模块进行关闭。
用户首次绑定手机号请使用 bindPhone 接口。
¶ 参数
phone
<String> 新手机号phoneCode
<String> 新手机号的验证码oldPhone
<String> 旧手机号oldPhoneCode
<String> 旧手机号的验证码
¶ 示例
User user = authenticationClient.updatePhone("phone number", "1234").execute();
¶ 绑定邮箱
authenticationClient.bindEmail(email, emailCode)
用于用户初次绑定邮箱,需检验邮箱验证码。如果需要修改邮箱请使用 updateEmail 方法。如果该邮箱已被绑定,将会绑定失败。发送邮件验证码请使用 sendEmail 方法。 终端用户也可以在个人中心自助绑定邮箱:
¶ 参数
email
<String> 邮箱emailCode
<String> 邮件验证码,可通过 sendEmail 方法获得,EmailScene 为 CHANGE_EMAIL。
¶ 示例
User user = authenticationClient.bindEmail("demo@authing.cn", "1234").execute();
¶ 解绑邮箱
authenticationClient.unbindEmail()
用户解绑手机号,如果用户没有绑定其他登录方式(手机号、社会化登录账号),将无法解绑邮箱,会提示错误。 终端用户也可以在个人中心自助解绑邮箱:
¶ 示例
User user = authenticationClient.unbindEmail().execute();
¶ 更新用户邮箱
authenticationClient.updateEmail(email, emailCode, oldEmail, oldEmailCode)
AuthenticationClient().updateEmail(email, emailCode, oldEmail, oldEmailCode)如果用户已经绑定了邮箱,默认情况下,需要同时验证原有邮箱(目前账号绑定的邮箱)和当前邮箱(将要绑定的邮箱)。也就是说,用户 A 当前绑定的邮箱为 123456@qq.com,想修改为 1234567@qq.com,那么就需要同时验证这两个邮箱。 开发者也可以选择不开启 “验证原有邮箱“ ,可以在 Authing 控制台的设置目录下的安全信息模块进行关闭。 用户首次绑定邮箱请使用 bindEmail 接口。
¶ 参数
email
<String> 新邮箱emailCode
<String> 新邮箱的验证码oldEmail
<String> 旧邮箱oldEmailCode
<String> 旧邮箱的验证码
¶ 示例
String newEmail = "new@example.com";
String emailCode = "1234"
User user = authenticationClient.updateEmail(newEmail, emailCode).execute();
¶ 合并账号身份信息
authenticationClient.linkAccount(primaryUserToken, secondaryUserToken)
将一个 Authing 子账号的外部身份源(如微信、GitHub、自定义 OIDC 身份源等)身份信息合并到一个 Authing 主账号上,同时删除子账号。
若用户原先使用某一身份源可以登录到子账号,合并之后,用户再用此身份源登录,将登录到主账号。
注意,除来自外部身份源的身份信息外,子账号的一切信息都会在合并后丢失!
¶ 参数
primaryUserToken
<String> 主账号 TokensecondaryUserToken
<String> 子账号 Token
¶ 示例
String primaryUserToken = "test";
String secondaryUserToken = "test";
authenticationClient.linkAccount(primaryUserToken, secondaryUserToken).execute();
¶ 检查密码强度
authenticationClient.checkPasswordStrength(password)
检查密码强度,详情请见 密码策略。 判断密码是否符合密码强度要求。Authing 中密码强度等级分为以下几种:
- 任意非空字符串;
- 至少 6 位字符;
- 至少 6 位字符,且须包含英文、数字与符号中的两种;
- 至少 6 位字符,且密码中须包含英文、数字与符号。
¶ 参数
password
<String> 密码
¶ 示例
String password = "test";
CheckPasswordStrengthResult result = authenticationClient.checkPasswordStrength(password).execute();
¶ 计算密码安全等级
authenticationClient.computedPasswordSecurityLevel(password)
计算密码安全等级。
¶ 参数
password
需要计算的密码(明文格式),必须为String
类型。
¶ 示例
PasswordSecurityLevel securityLevel = authenticationClient.computedPasswordSecurityLevel("password")
¶ 获取用户账号安全等级
authenticationClient.getSecurityLevel()
获取用户账号安全等级。
¶ 示例
SecurityLevel result = authenticationClient.getSecurityLevel().execute();
Assert.assertNotNull(result !=null);
¶ 获取当前用户能够访问的应用
authenticationClient.listApplications(page, limit)
获取当前用户能够访问的应用。
¶ 参数
page
<Integer> 分页序号,默认为1
。limit
<Integer> 每页返回的个数,默认为10
。
¶ 示例
Pagination<ApplicationPublicDetail> resData = authenticationClient.listApplications(1, 10).execute();
¶ 获取用户被授权的所有资源列表
authenticationClient.listAuthorizedResources(namespace)
获取一个用户被授权的所有资源,用户被授权的所有资源里面包括从角色、分组、组织机构继承的资源。
¶ 参数
namespace
<String> 权限分组的 code,详情请见使用权限分组管理权限资源。
¶ 示例
PaginatedAuthorizedResources res = authenticationClient.listAuthorizedResources(namespace).execute();
¶ 生成一个 PKCE 校验码
authenticationClient.generateCodeChallenge()
生成一个 PKCE 校验码,长度必须大于等于 43
¶ 示例
String res = authenticationClient.generateCodeChallenge();
¶ 生成一个 PKCE 校验码摘要值
authenticationClient.getCodeChallengeDigest(param)
生成一个 PKCE 校验码摘要值
¶ 参数
param
<CodeChallengeDigestParam> PKCE 校验码、摘要算法参数param.codeChallenge
<String> 待生成摘要值的 code_challenge 原始值,一个长度大于等于 43 的随机字符串。param.method
<String> 可以为 plain、S256,表示计算 code_challenge 时使用的摘要算法,plain 表示不用任何算法原样返回,S256 表示使用 SHA256 计算 code_challenge 摘要。
¶ 示例
String res = authenticationClient.getCodeChallengeDigest(new CodeChallengeDigestParam("codeChallenge","S256"));
¶ 判断当前用户是否有某个角色
authenticationClient.hasRole(roleCode, namespace)
判断当前用户是否有某个角色
¶ 参数
roleCode
<String> 角色编码 Codenamespace
<String> 权限分组的 Code,详情请见使用权限分组管理权限资源。
¶ 示例
Boolean res = authenticationClient.hasRole("roleCode", "default").execute();
¶ 判断用户是否存在
authenticationClient.isUserExists(username, email, phone, externalId)
判断用户是否存在
¶ 参数
username
<String> 用户名email
<String> 用户邮箱phone
<String> 用户手机号externalId
<String> 用户外部 Id
¶ 示例
Boolean res = authenticationClient.isUserExists("username", "email", "phone", "externalId").execute();
¶ 获取用户所有部门
authenticationClient.listDepartments()
获取用户所有部门
¶ 示例
PaginatedDepartments res = authenticationClient.listDepartments().execute();
¶ 通过首次登录的 Token 重置密码
authenticationClient.resetPasswordByFirstLoginToken(token, password)
通过首次登录的 Token 重置密码
¶ 参数
token
<String> 首次登录的 Tokenpassword
<String> 重置后的密码
¶ 示例
CommonMessage res = authenticationClient.resetPasswordByFirstLoginToken("token", "password").execute();
¶ 通过密码强制跟临时 Token 修改密码
authenticationClient.resetPasswordByForceResetToken(token, oldPassword, newPassword)
通过密码强制跟临时 Token 修改密码
¶ 参数
token
<String> 临时登录的 TokenoldPassword
<String> 修改前的密码newPassword
<String> 重置后的密码
¶ 示例
CommonMessage res = authenticationClient.resetPasswordByForceResetToken("token", "oldPassword", "newPassword").execute();
¶ 检测密码是否合法
authenticationClient.isPasswordValid(password)
检测密码是否合法
¶ 参数
password
<String> 被检查的密码
¶ 示例
CommonMessage res = authenticationClient.isPasswordValid("password").execute();
¶ SSO 检测登录态
authenticationClient.trackSession()
SSO 检测登录态
¶ 示例
User res = authenticationClient.trackSession().execute();
¶ 检验 CAS 1.0 Ticket 合法性
authenticationClient.validateTicketV1(ticket, service)
检验 CAS 1.0 Ticket 合法性
¶ 参数
ticket
<String> CAS 认证成功后,Authing 颁发的 ticket。service
<String> CAS 回调地址
¶ 示例
ValidateTicketV1Response res = authenticationClient.validateTicketV1("ticket", "service").execute();
¶ 通过远端服务验证票据合法性
authenticationClient.validateTicketV2(ticket, service)
通过远端服务验证票据合法性
¶ 参数
ticket
<String> CAS 认证成功后,Authing 颁发的 ticket。service
<String> CAS 回调地址format
<String> 返回报文格式化方式,支持 XML | JSON。
¶ 示例
Sting res = authenticationClient.validateTicketV2("ticket", "service", "JSON").execute();