类 SaOAuth2Template
java.lang.Object
cn.dev33.satoken.oauth2.template.SaOAuth2Template
Sa-Token-OAuth2 模块 代码实现
- 从以下版本开始:
- 1.23.0
- 作者:
- click33
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明checkAccessToken(String accessToken) 校验 Access-Token,成功返回 AccessTokenModel,失败则抛出异常checkAccessTokenParam(String clientId, String clientSecret, String accessToken) 校验:Access-Token、clientId、clientSecret 三者是否匹配成功voidcheckAccessTokenScope(String accessToken, String... scopes) 校验:指定 Access-Token 是否具有指定 Scope 列表,如果不具备则抛出异常checkClientModel(String clientId) 校验 clientId 信息并返回 ClientModel,如果找不到对应 Client 信息则抛出异常checkClientSecret(String clientId, String clientSecret) 校验:clientId 与 clientSecret 是否正确checkClientSecretAndScope(String clientId, String clientSecret, List<String> scopes) 校验:clientId 与 clientSecret 是否正确,并且是否签约了指定 scopescheckClientToken(String clientToken) 校验 Client-Token,成功返回 ClientTokenModel,失败则抛出异常voidcheckClientTokenScope(String clientToken, String... scopes) 校验:指定 Client-Token 是否具有指定 Scope 列表,如果不具备则抛出异常checkContractScope(SaClientModel cm, List<String> scopes) 校验:该 Client 是否签约了指定的 Scope,如果没有则抛出异常checkContractScope(String clientId, List<String> scopes) 校验:该 Client 是否签约了指定的 Scope,如果没有则抛出异常checkGainTokenParam(String code, String clientId, String clientSecret, String redirectUri) 校验:使用 code 获取 token 时提供的参数校验voidcheckRedirectUri(String clientId, String url) 校验:该 Client 使用指定 url 作为回调地址,是否合法voidcheckRedirectUriListNormal(List<String> redirectUriList) 校验配置的 allowRedirectUris 是否合规,如果不合规则抛出异常static voidcheckRedirectUriListNormalStaticMethod(List<String> redirectUriList) 校验配置的 allowRedirectUris 是否合规,如果不合规则抛出异常,静态方法内部实现checkRefreshToken(String refreshToken) 校验 Refresh-Token,成功返回 RefreshTokenModel,失败则抛出异常checkRefreshTokenParam(String clientId, String clientSecret, String refreshToken) 校验:使用 Refresh-Token 刷新 Access-Token 时提供的参数校验getAccessToken(String accessToken) 获取 AccessTokenModel,无效的 AccessToken 会返回 nullgetAccessTokenValue(String clientId, Object loginId) 获取 Access-Token,根据索引: clientId、loginIdgetClientIdByAccessToken(String accessToken) 获取 Access-Token 所代表的 clientIdgetClientModel(String clientId) 获取 ClientModel,根据 clientIdgetClientToken(String clientToken) 获取 ClientTokenModel,无效的 ClientToken 会返回 nullgetClientTokenValue(String clientId) 获取 ClientToken,根据索引: clientId获取高级权限列表getLoginIdByAccessToken(String accessToken) 获取 Access-Token 所代表的LoginId获取低级权限列表getRefreshToken(String refreshToken) 获取 RefreshTokenModel,无效的 RefreshToken 会返回 nullgetRefreshTokenValue(String clientId, Object loginId) 获取 Refresh-Token,根据索引: clientId、loginIdbooleanhasAccessTokenScope(String accessToken, String... scopes) 判断:指定 Access-Token 是否具有指定 Scope 列表,返回 true 或 falsebooleanhasClientTokenScope(String clientToken, String... scopes) 判断:指定 Client-Token 是否具有指定 Scope 列表,返回 true 或 falsebooleanisContractScope(String clientId, List<String> scopes) 判断:该 Client 是否签约了指定的 Scope,返回 true 或 falsebooleanisGrantScope(Object loginId, String clientId, List<String> scopes) 判断:指定 loginId 是否对一个 Client 授权给了指定 ScopebooleanisNeedCarefulConfirm(Object loginId, String clientId, List<String> scopes) 判断:指定 loginId 在指定 Client 请求指定 Scope 时,是否需要手动确认授权refreshAccessToken(String refreshToken) 根据 RefreshToken 刷新出一个 AccessTokenvoidrevokeAccessToken(String accessToken) 回收 Access-TokenvoidrevokeAccessTokenByIndex(String clientId, Object loginId) 回收 Access-Token,根据索引: clientId、loginIdvoidrevokeClientToken(String clientToken) 回收 ClientTokenvoidrevokeClientTokenByIndex(String clientId) 回收 ClientToken,根据索引: clientIdvoidrevokeLowerClientTokenByIndex(String clientId) 回收 Lower-Client-Token,根据索引: clientIdvoidsaveGrantScope(String clientId, Object loginId, List<String> scopes) 持久化:用户授权记录
-
构造器详细资料
-
SaOAuth2Template
public SaOAuth2Template()
-
-
方法详细资料
-
getClientModel
获取 ClientModel,根据 clientId- 参数:
clientId- /- 返回:
- /
-
checkClientModel
校验 clientId 信息并返回 ClientModel,如果找不到对应 Client 信息则抛出异常- 参数:
clientId- /- 返回:
- /
-
checkClientSecret
校验:clientId 与 clientSecret 是否正确- 参数:
clientId- 应用idclientSecret- 秘钥- 返回:
- SaClientModel对象
-
checkClientSecretAndScope
public SaClientModel checkClientSecretAndScope(String clientId, String clientSecret, List<String> scopes) 校验:clientId 与 clientSecret 是否正确,并且是否签约了指定 scopes- 参数:
clientId- 应用idclientSecret- 秘钥scopes- 权限- 返回:
- SaClientModel对象
-
isContractScope
判断:该 Client 是否签约了指定的 Scope,返回 true 或 false- 参数:
clientId- 应用idscopes- 权限- 返回:
- /
-
checkContractScope
校验:该 Client 是否签约了指定的 Scope,如果没有则抛出异常- 参数:
clientId- 应用idscopes- 权限列表- 返回:
- /
-
checkContractScope
校验:该 Client 是否签约了指定的 Scope,如果没有则抛出异常- 参数:
cm- 应用scopes- 权限列表- 返回:
- /
-
checkRedirectUri
校验:该 Client 使用指定 url 作为回调地址,是否合法- 参数:
clientId- 应用idurl- 指定url
-
checkRedirectUriListNormal
校验配置的 allowRedirectUris 是否合规,如果不合规则抛出异常- 参数:
redirectUriList- 待校验的 allow-url 地址列表
-
checkRedirectUriListNormalStaticMethod
校验配置的 allowRedirectUris 是否合规,如果不合规则抛出异常,静态方法内部实现- 参数:
redirectUriList- 待校验的 allow-url 地址列表
-
isGrantScope
判断:指定 loginId 是否对一个 Client 授权给了指定 Scope- 参数:
loginId- 账号idclientId- 应用idscopes- 权限- 返回:
- 是否已经授权
-
isNeedCarefulConfirm
判断:指定 loginId 在指定 Client 请求指定 Scope 时,是否需要手动确认授权- 参数:
loginId- 账号idclientId- 应用idscopes- 权限- 返回:
- 是否已经授权
-
checkGainTokenParam
public CodeModel checkGainTokenParam(String code, String clientId, String clientSecret, String redirectUri) 校验:使用 code 获取 token 时提供的参数校验- 参数:
code- 授权码clientId- 应用idclientSecret- 秘钥redirectUri- 重定向地址- 返回:
- CodeModel对象
-
checkRefreshTokenParam
public RefreshTokenModel checkRefreshTokenParam(String clientId, String clientSecret, String refreshToken) 校验:使用 Refresh-Token 刷新 Access-Token 时提供的参数校验- 参数:
clientId- 应用idclientSecret- 秘钥refreshToken- Refresh-Token- 返回:
- CodeModel对象
-
checkAccessTokenParam
public AccessTokenModel checkAccessTokenParam(String clientId, String clientSecret, String accessToken) 校验:Access-Token、clientId、clientSecret 三者是否匹配成功- 参数:
clientId- 应用idclientSecret- 秘钥accessToken- Access-Token- 返回:
- SaClientModel对象
-
getAccessToken
获取 AccessTokenModel,无效的 AccessToken 会返回 null- 参数:
accessToken- /- 返回:
- /
-
checkAccessToken
校验 Access-Token,成功返回 AccessTokenModel,失败则抛出异常- 参数:
accessToken- /- 返回:
- /
-
getAccessTokenValue
获取 Access-Token,根据索引: clientId、loginId- 参数:
clientId- /loginId- /- 返回:
- /
-
hasAccessTokenScope
判断:指定 Access-Token 是否具有指定 Scope 列表,返回 true 或 false- 参数:
accessToken- Access-Tokenscopes- 需要校验的权限列表
-
checkAccessTokenScope
校验:指定 Access-Token 是否具有指定 Scope 列表,如果不具备则抛出异常- 参数:
accessToken- Access-Tokenscopes- 需要校验的权限列表
-
getLoginIdByAccessToken
获取 Access-Token 所代表的LoginId- 参数:
accessToken- Access-Token- 返回:
- LoginId
-
getClientIdByAccessToken
获取 Access-Token 所代表的 clientId- 参数:
accessToken- Access-Token- 返回:
- LoginId
-
revokeAccessToken
回收 Access-Token- 参数:
accessToken- Access-Token值
-
revokeAccessTokenByIndex
回收 Access-Token,根据索引: clientId、loginId- 参数:
clientId- /loginId- /
-
getRefreshToken
获取 RefreshTokenModel,无效的 RefreshToken 会返回 null- 参数:
refreshToken- /- 返回:
- /
-
checkRefreshToken
校验 Refresh-Token,成功返回 RefreshTokenModel,失败则抛出异常- 参数:
refreshToken- /- 返回:
- /
-
getRefreshTokenValue
获取 Refresh-Token,根据索引: clientId、loginId- 参数:
clientId- /loginId- /- 返回:
- /
-
refreshAccessToken
根据 RefreshToken 刷新出一个 AccessToken- 参数:
refreshToken- /- 返回:
- /
-
getClientToken
获取 ClientTokenModel,无效的 ClientToken 会返回 null- 参数:
clientToken- /- 返回:
- /
-
checkClientToken
校验 Client-Token,成功返回 ClientTokenModel,失败则抛出异常- 参数:
clientToken- /- 返回:
- /
-
getClientTokenValue
获取 ClientToken,根据索引: clientId- 参数:
clientId- /- 返回:
- /
-
hasClientTokenScope
判断:指定 Client-Token 是否具有指定 Scope 列表,返回 true 或 false- 参数:
clientToken- Client-Tokenscopes- 需要校验的权限列表
-
checkClientTokenScope
校验:指定 Client-Token 是否具有指定 Scope 列表,如果不具备则抛出异常- 参数:
clientToken- Client-Tokenscopes- 需要校验的权限列表
-
revokeClientToken
回收 ClientToken- 参数:
clientToken- /
-
revokeClientTokenByIndex
回收 ClientToken,根据索引: clientId- 参数:
clientId- /
-
revokeLowerClientTokenByIndex
回收 Lower-Client-Token,根据索引: clientId- 参数:
clientId- /
-
saveGrantScope
持久化:用户授权记录- 参数:
clientId- 应用idloginId- 账号idscopes- 权限列表
-
getHigherScopeList
获取高级权限列表- 返回:
- /
-
getLowerScopeList
获取低级权限列表- 返回:
- /
-