Module bus.auth

Class AbstractMicrosoftProvider

java.lang.Object
org.miaixz.bus.auth.nimble.AbstractProvider
org.miaixz.bus.auth.nimble.microsoft.AbstractMicrosoftProvider
All Implemented Interfaces:
Provider, org.miaixz.bus.core.Provider
Direct Known Subclasses:
MicrosoftCnProvider, MicrosoftProvider

public abstract class AbstractMicrosoftProvider extends AbstractProvider
微软 登录抽象类,负责处理使用微软国际和微软中国账号登录第三方网站的登录方式
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • AbstractMicrosoftProvider

      public AbstractMicrosoftProvider(Context context, Complex complex)
    • AbstractMicrosoftProvider

      public AbstractMicrosoftProvider(Context context, Complex complex, org.miaixz.bus.cache.metric.ExtendCache cache)
  • Method Details

    • getAccessToken

      public AccToken getAccessToken(Callback callback)
      Description copied from interface: Provider
      获取access token
      Parameters:
      callback - 授权成功后的回调参数
      Returns:
      token
      See Also:
    • getUserInfo

      public Material getUserInfo(AccToken accToken)
      Description copied from interface: Provider
      使用token换取用户信息
      Parameters:
      accToken - token信息
      Returns:
      用户信息
      See Also:
    • refresh

      public org.miaixz.bus.core.basic.entity.Message refresh(AccToken accToken)
      刷新access token (续期)
      Parameters:
      accToken - 登录成功后返回的Token信息
      Returns:
      Message
    • authorize

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

      protected String accessTokenUrl(String code)
      返回获取accessToken的url
      Overrides:
      accessTokenUrl in class AbstractProvider
      Parameters:
      code - 授权code
      Returns:
      返回获取accessToken的url
    • userInfoUrl

      protected String userInfoUrl(AccToken accToken)
      返回获取userInfo的url
      Overrides:
      userInfoUrl in class AbstractProvider
      Parameters:
      accToken - 用户授权后的token
      Returns:
      返回获取userInfo的url
    • refreshTokenUrl

      protected String refreshTokenUrl(String refreshToken)
      返回获取accessToken的url
      Overrides:
      refreshTokenUrl in class AbstractProvider
      Parameters:
      refreshToken - 用户授权后的token
      Returns:
      返回获取accessToken的url