Class AuthDefaultRequest

java.lang.Object
me.zhyd.oauth.request.AuthDefaultRequest
All Implemented Interfaces:
AuthRequest
Direct Known Subclasses:
AbstractAuthDingtalkRequest, AbstractAuthMicrosoftRequest, AbstractAuthWeChatEnterpriseRequest, AuthAfDianRequest, AuthAlipayCertRequest, AuthAlipayRequest, AuthAliyunRequest, AuthAmazonRequest, AuthAppleRequest, AuthBaiduRequest, AuthCodingRequest, AuthCsdnRequest, AuthDingTalkV2Request, AuthDouyinRequest, AuthElemeRequest, AuthFacebookRequest, AuthFeishuRequest, AuthFigmaRequest, AuthGiteeRequest, AuthGithubRequest, AuthGitlabRequest, AuthGoogleRequest, AuthHuaweiRequest, AuthHuaweiV3Request, AuthJdRequest, AuthKujialeRequest, AuthLineRequest, AuthLinkedinRequest, AuthMeituanRequest, AuthMiRequest, AuthOktaRequest, AuthOschinaRequest, AuthPinterestRequest, AuthProginnRequest, AuthQQMiniProgramRequest, AuthQqRequest, AuthRenrenRequest, AuthSlackRequest, AuthStackOverflowRequest, AuthTaobaoRequest, AuthTeambitionRequest, AuthToutiaoRequest, AuthTwitterRequest, AuthWechatMiniProgramRequest, AuthWeChatMpRequest, AuthWeChatOpenRequest, AuthWeiboRequest, AuthXmlyRequest

public abstract class AuthDefaultRequest extends Object implements AuthRequest
默认的request处理类
Since:
1.0.0
Author:
yadong.zhang (yadong.zhang0415(a)gmail.com), yangkai.shen (https://xkcoding.com)
  • Field Details

  • Constructor Details

  • Method Details

    • login

      public AuthResponse<AuthUser> login(AuthCallback authCallback)
      统一的登录入口。当通过authorize(String)授权成功后,会跳转到调用方的相关回调方法中 方法的入参可以使用AuthCallbackAuthCallback类中封装好了OAuth2授权回调所需要的参数
      Specified by:
      login in interface AuthRequest
      Parameters:
      authCallback - 用于接收回调参数的实体
      Returns:
      AuthResponse
    • checkCode

      protected void checkCode(AuthCallback authCallback)
    • responseError

      AuthResponse<AuthUser> responseError(Exception e)
      处理login(AuthCallback) 发生异常的情况,统一响应参数
      Parameters:
      e - 具体的异常
      Returns:
      AuthResponse
    • authorize

      @Deprecated public String authorize()
      Deprecated.
      返回授权url,可自行跳转页面

      不建议使用该方式获取授权地址,不带state的授权地址,容易受到csrf攻击。 建议使用authorize(String)方法生成授权地址,在回调方法中对state进行校验

      Specified by:
      authorize in interface AuthRequest
      Returns:
      返回授权地址
      See Also:
    • authorize

      public String authorize(String state)
      返回带state参数的授权url,授权回调时会带上这个state
      Specified by:
      authorize in interface AuthRequest
      Parameters:
      state - state 验证授权流程的参数,可以防止csrf
      Returns:
      返回授权地址
      Since:
      1.9.3
    • accessTokenUrl

      protected String accessTokenUrl(String code)
      返回获取accessToken的url
      Parameters:
      code - 授权码
      Returns:
      返回获取accessToken的url
    • refreshTokenUrl

      protected String refreshTokenUrl(String refreshToken)
      返回获取accessToken的url
      Parameters:
      refreshToken - refreshToken
      Returns:
      返回获取accessToken的url
    • userInfoUrl

      protected String userInfoUrl(AuthToken authToken)
      返回获取userInfo的url
      Parameters:
      authToken - token
      Returns:
      返回获取userInfo的url
    • revokeUrl

      protected String revokeUrl(AuthToken authToken)
      返回获取revoke authorization的url
      Parameters:
      authToken - token
      Returns:
      返回获取revoke authorization的url
    • getRealState

      protected String getRealState(String state)
      获取state,如果为空, 则默认取当前日期的时间戳
      Parameters:
      state - 原始的state
      Returns:
      返回不为null的state
    • doPostAuthorizationCode

      protected String doPostAuthorizationCode(String code)
      通用的 authorizationCode 协议
      Parameters:
      code - code码
      Returns:
      Response
    • doGetAuthorizationCode

      protected String doGetAuthorizationCode(String code)
      通用的 authorizationCode 协议
      Parameters:
      code - code码
      Returns:
      Response
    • doPostUserInfo

      @Deprecated protected String doPostUserInfo(AuthToken authToken)
      Deprecated.
      通用的 用户信息
      Parameters:
      authToken - token封装
      Returns:
      Response
    • doGetUserInfo

      protected String doGetUserInfo(AuthToken authToken)
      通用的 用户信息
      Parameters:
      authToken - token封装
      Returns:
      Response
    • doPostRevoke

      @Deprecated protected String doPostRevoke(AuthToken authToken)
      Deprecated.
      通用的post形式的取消授权方法
      Parameters:
      authToken - token封装
      Returns:
      Response
    • doGetRevoke

      protected String doGetRevoke(AuthToken authToken)
      通用的post形式的取消授权方法
      Parameters:
      authToken - token封装
      Returns:
      Response
    • getScopes

      protected String getScopes(String separator, boolean encode, List<String> defaultScopes)
      获取以 separator分割过后的 scope 信息
      Parameters:
      separator - 多个 scope 间的分隔符
      encode - 是否 encode 编码
      defaultScopes - 默认的 scope, 当客户端没有配置 scopes 时启用
      Returns:
      String
      Since:
      1.16.7
    • checkConfig

      protected void checkConfig(AuthConfig config)