<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 登錄接口 `/jpower-auth/auth/login` ## 登錄模式 * 密碼登錄 * 驗證碼登錄 * 手機號驗證碼登錄(暫不支持,需自行實現發送手機驗證碼功能) ## `Authorization`客戶端標識 `Authorization`為必傳的header參數,用來標識客戶端來源,具體用法參考:[多終端令牌認證](./多終端令牌認證.md) ## 自定義實現登錄方式 `jpower-core-login`模塊內已默認定義了`AuthUserInfo`接口,可自行繼承該接口并實現接口方法,根據業務實現不同登錄模式的方法即可,方法內部只要正確返回`UserInfo`即可。 `AuthUserInfo`接口核心代碼如下 ~~~ /** * @author 郭丁志 * @Description //TODO 授權需求實現,如果有業務上的特殊需求,繼承該類實現即可;繼承的必須加上@Configuration注解 * @date 22:05 2020/8/6 0006 */ @Configuration public interface AuthUserInfo { /** * @author 郭丁志 * @Description //TODO 密碼登陸各自業務實現 * @date 22:43 2020/8/6 0006 */ default UserInfo getPasswordUserInfo(ChainMap tokenParameter){ String account = tokenParameter.getStr("account"); String password = tokenParameter.getStr("password"); String tenantCode = tokenParameter.getStr("tenantCode"); TbCoreUser result = UserCache.queryUserByLoginIdPwd(account,password,tenantCode); return TokenGranterBuilder.toUserInfo(result); } /** * @author 郭丁志 * @Description //TODO 驗證碼登陸各自業務實現 * @date 22:43 2020/8/6 0006 */ default UserInfo getCaptchaUserInfo(ChainMap tokenParameter){ String account = tokenParameter.getStr("account"); String password = tokenParameter.getStr("password"); if (Fc.isNoneBlank(account, password)) { return getPasswordUserInfo(tokenParameter); } return null; } /** * @author 郭丁志 * @Description //TODO 第三方Code各自業務實現 * @date 22:43 2020/8/6 0006 */ default UserInfo getOtherCodeUserInfo(ChainMap tokenParameter){ // String otherCode = tokenParameter.getStr("otherCode"); // String tenantCode = tokenParameter.getStr("tenantCode"); // // TbCoreUser result = UserCache.getUserByCode(otherCode,tenantCode); // return TokenGranterBuilder.toUserInfo(result); throw new BusinessException("暫不支持第三方驗證碼登錄"); } /** * @author 郭丁志 * @Description //TODO 刷新token各自業務實現 * @date 22:55 2020/8/6 0006 * @param userType 用戶類型,擴展字典,根據業務自行使用 * @param userId 用戶主鍵ID * @return UserInfo 只需要實現獲取UserInfo即可,token的刷新不用去管 */ default UserInfo getRefreshUserInfo(String userType,String userId){ TbCoreUser result = UserCache.getById(userId); return TokenGranterBuilder.toUserInfo(result); } /** * @Author 郭丁志 * @Description //TODO 手機號登錄 * @Date 08:40 2020-08-21 * @Param [tokenParameter] * @return com.wlcb.jpower.module.common.auth.UserInfo **/ default UserInfo getPhoneUserInfo(ChainMap tokenParameter){ String phone = tokenParameter.getStr("phone"); String tenantCode = tokenParameter.getStr(TenantConstant.TENANT_CODE); TbCoreUser result = UserCache.getUserByPhone(phone,tenantCode); return TokenGranterBuilder.toUserInfo(result); } } ~~~ 一般情況下業務方寫了自己的授權模塊并maven繼承了`jpower-core-login`模塊的情況下,此方法可完美解決自己的登錄查詢需求。 ## 注意項 * 登錄模式只能用一種模式來獲取token * 不同的登錄模式傳遞的參數不同沒必要全部都傳,需要注意的是驗證碼登錄時,驗證碼相關參數在header里; * header里的參數`User-Type`參數為系統預留參數,可根據業務自行擴展,在登錄接口內自行實現不同值的登錄方式;
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看