Beispiel #1
0
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            string response       = DoGetUserInfo(authToken);
            var    userInfoObject = response.ParseObject();

            this.checkResponse(userInfoObject);
            var userObj = userInfoObject.GetString("data").ParseObject();

            var location = $"{userObj.GetString("country")}-{userObj.GetString("province")}-{userObj.GetString("city")}";
            var authUser = new AuthUser();

            authUser.Uuid     = userObj.GetString("union_id");
            authUser.Username = userObj.GetString("nickname");
            authUser.Nickname = userObj.GetString("nickname");
            authUser.Avatar   = userObj.GetString("avatar");
            authUser.Location = location;
            authUser.Remark   = userObj.GetString("description");
            authUser.Gender   = GlobalAuthUtil.GetRealGender(userObj.GetString("gender"));

            authUser.Token           = authToken;
            authUser.Source          = source.GetName();
            authUser.OriginalUser    = userObj;
            authUser.OriginalUserStr = response;
            return(authUser);
        }
Beispiel #2
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            string response = doGetUserInfo(authToken);
            var    userObj  = response.parseObject();

            this.checkResponse(userObj);

            var authUser = new AuthUser();

            authUser.uuid     = userObj.getString("userid");
            authUser.username = userObj.getString("username");
            authUser.nickname = userObj.getString("username");

            string protrait = userObj.getString("portrait");

            authUser.avatar = protrait.IsNullOrWhiteSpace() ? null : string.Format("http://himg.bdimg.com/sys/portrait/item/{0}.jpg", protrait);

            authUser.remark = userObj.getString("userdetail");
            authUser.gender = GlobalAuthUtil.getRealGender(userObj.getString("sex"));

            authUser.token           = authToken;
            authUser.source          = source.getName();
            authUser.originalUser    = userObj;
            authUser.originalUserStr = response;
            return(authUser);
        }
Beispiel #3
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            string response       = doGetUserInfo(authToken);
            var    userInfoObject = response.parseObject();

            this.checkResponse(userInfoObject);
            var userObj = userInfoObject.getString("data").parseObject();

            var location = $"{userObj.getString("country")}-{userObj.getString("province")}-{userObj.getString("city")}";
            var authUser = new AuthUser();

            authUser.uuid     = userObj.getString("union_id");
            authUser.username = userObj.getString("nickname");
            authUser.nickname = userObj.getString("nickname");
            authUser.avatar   = userObj.getString("avatar");
            authUser.location = location;
            authUser.remark   = userObj.getString("description");
            authUser.gender   = GlobalAuthUtil.getRealGender(userObj.getString("gender"));

            authUser.token           = authToken;
            authUser.source          = source.getName();
            authUser.originalUser    = userObj;
            authUser.originalUserStr = response;
            return(authUser);
        }
Beispiel #4
0
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            string response = DoGetUserInfo(authToken);
            var    resData  = response.ParseObject();

            this.checkResponse(resData);

            var userObj = resData.GetString("data").ParseObject();

            var authUser = new AuthUser();

            authUser.Uuid     = userObj.GetString("id");
            authUser.Username = userObj.GetString("name");
            authUser.Nickname = userObj.GetString("name");
            authUser.Avatar   = $"{"https://coding.net/"}{userObj.GetString("avatar")}";
            authUser.Blog     = $"{"https://coding.net/"}{userObj.GetString("path")}";
            authUser.Company  = userObj.GetString("company");
            authUser.Location = userObj.GetString("location");
            authUser.Email    = userObj.GetString("email");
            authUser.Remark   = userObj.GetString("slogan");
            authUser.Gender   = GlobalAuthUtil.GetRealGender(userObj.GetString("sex"));

            authUser.Token           = authToken;
            authUser.Source          = source.GetName();
            authUser.OriginalUser    = resData;
            authUser.OriginalUserStr = response;
            return(authUser);
        }
Beispiel #5
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            string response = doGetUserInfo(authToken);
            var    resData  = response.parseObject();

            this.checkResponse(resData);

            var userObj = resData.getString("data").parseObject();

            var authUser = new AuthUser();

            authUser.uuid     = userObj.getString("id");
            authUser.username = userObj.getString("name");
            authUser.nickname = userObj.getString("name");
            authUser.avatar   = $"{"https://coding.net/"}{userObj.getString("avatar")}";
            authUser.blog     = $"{"https://coding.net/"}{userObj.getString("path")}";
            authUser.company  = userObj.getString("company");
            authUser.location = userObj.getString("location");
            authUser.email    = userObj.getString("email");
            authUser.remark   = userObj.getString("slogan");
            authUser.gender   = GlobalAuthUtil.getRealGender(userObj.getString("sex"));

            authUser.token           = authToken;
            authUser.source          = source.getName();
            authUser.originalUser    = resData;
            authUser.originalUserStr = response;
            return(authUser);
        }
Beispiel #6
0
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            string userResponse = DoGetUserInfo(authToken);
            var    userProfile  = userResponse.ParseObject();

            this.CheckResponse(userProfile);

            var userObj = userProfile.GetString("data").ParseObject();

            bool   isAnonymousUser   = userObj.GetInt32("uid_type") == 14;
            string anonymousUserName = "******";

            var authUser = new AuthUser();

            authUser.Uuid            = userObj.GetString("uid");
            authUser.Username        = isAnonymousUser ? anonymousUserName : userObj.GetString("screen_name");
            authUser.Nickname        = isAnonymousUser ? anonymousUserName : userObj.GetString("screen_name");
            authUser.Avatar          = userObj.GetString("avatar_url");
            authUser.Remark          = userObj.GetString("description");
            authUser.Gender          = GlobalAuthUtil.GetRealGender(userObj.GetString("gender"));
            authUser.Token           = authToken;
            authUser.Source          = source.GetName();
            authUser.OriginalUser    = userProfile;
            authUser.OriginalUserStr = userResponse;
            return(authUser);
        }
Beispiel #7
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            string response = doGetUserInfo(authToken);
            var    jsonObj  = response.parseObject();

            this.checkResponse(jsonObj);

            // 返回 OpenId 或其他,均代表非当前企业用户,不支持
            if (!jsonObj.ContainsKey("UserId"))
            {
                throw new Exception(AuthResponseStatus.UNIDENTIFIED_PLATFORM.GetDesc());
            }
            string userId             = jsonObj.getString("UserId");
            string userDetailResponse = getUserDetail(authToken.accessToken, userId);
            var    userDetailObj      = userDetailResponse.parseObject();

            this.checkResponse(userDetailObj);

            var authUser = new AuthUser();

            authUser.username = userDetailObj.getString("name");
            authUser.nickname = userDetailObj.getString("alias");
            authUser.avatar   = userDetailObj.getString("avatar");
            authUser.location = userDetailObj.getString("address");
            authUser.email    = userDetailObj.getString("email");
            authUser.uuid     = userDetailObj.getString("userId");
            authUser.token    = authToken;
            authUser.source   = source.getName();
            authUser.gender   = GlobalAuthUtil.getWechatRealGender(userDetailObj.getString("gender"));

            authUser.originalUser    = userDetailObj;
            authUser.originalUserStr = response;
            return(authUser);
        }
Beispiel #8
0
        /**
         * 获取用户的实际性别。华为系统中,用户的性别:1表示女,0表示男
         *
         * @param object obj
         * @return AuthUserGender
         */
        private AuthUserGender getRealGender(Dictionary <string, object> userObj)
        {
            int    genderCodeInt = userObj.getInt32("gender");
            string genderCode    = genderCodeInt == 1 ? "0" : (genderCodeInt == 0) ? "1" : genderCodeInt + "";

            return(GlobalAuthUtil.getRealGender(genderCode));
        }
Beispiel #9
0
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            string response = DoGetUserInfo(authToken);

            var userObj = response.ParseObject();

            this.checkResponse(userObj);

            var authUser = new AuthUser();

            authUser.Uuid     = userObj.GetString("id");
            authUser.Username = userObj.GetString("name");
            authUser.Nickname = userObj.GetString("name");
            authUser.Avatar   = userObj.GetString("avatar");
            authUser.Blog     = userObj.GetString("url");
            authUser.Location = userObj.GetString("location");
            authUser.Email    = userObj.GetString("email");
            authUser.Gender   = GlobalAuthUtil.GetRealGender(userObj.GetString("gender"));

            authUser.Token           = authToken;
            authUser.Source          = source.GetName();
            authUser.OriginalUser    = userObj;
            authUser.OriginalUserStr = response;
            return(authUser);
        }
Beispiel #10
0
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            string openId = authToken.OpenId;

            string response = DoGetUserInfo(authToken);
            var    jsonObj  = response.ParseObject();

            this.checkResponse(jsonObj);

            //string location = String.format("%s-%s-%s", object.getString("country"), object.getString("province"), object.getString("city"));
            string location = $"{jsonObj.GetString("country")}-{jsonObj.GetString("province")}-{jsonObj.GetString("city")}";

            if (jsonObj.ContainsKey("unionid"))
            {
                authToken.UnionId = jsonObj.GetString("unionid");
            }

            var authUser = new AuthUser();

            authUser.Username = jsonObj.GetString("nickname");
            authUser.Nickname = jsonObj.GetString("nickname");
            authUser.Avatar   = jsonObj.GetString("headimgurl");
            authUser.Location = location;
            authUser.Uuid     = openId;
            authUser.Gender   = GlobalAuthUtil.GetWechatRealGender(jsonObj.GetString("sex"));
            authUser.Token    = authToken;
            authUser.Source   = source.GetName();

            authUser.OriginalUser    = jsonObj;
            authUser.OriginalUserStr = response;

            return(authUser);
        }
Beispiel #11
0
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            string response = DoGetUserInfo(authToken);
            var    jsonObj  = response.ParseObject();

            this.checkResponse(jsonObj);

            // 返回 OpenId 或其他,均代表非当前企业用户,不支持
            if (!jsonObj.ContainsKey("UserId"))
            {
                throw new Exception(AuthResponseStatus.UNIDENTIFIED_PLATFORM.GetDesc());
            }
            string userId             = jsonObj.GetString("UserId");
            string userDetailResponse = getUserDetail(authToken.AccessToken, userId);
            var    userDetailObj      = userDetailResponse.ParseObject();

            this.checkResponse(userDetailObj);

            var authUser = new AuthUser();

            authUser.Username = userDetailObj.GetString("name");
            authUser.Nickname = userDetailObj.GetString("alias");
            authUser.Avatar   = userDetailObj.GetString("avatar");
            authUser.Location = userDetailObj.GetString("address");
            authUser.Email    = userDetailObj.GetString("email");
            authUser.Uuid     = userDetailObj.GetString("userid");
            authUser.Enable   = userDetailObj.GetString("enable") == "1"; // Todo:处理不同方式定义bool的更好处理方式"true/false","1/0"
            authUser.Token    = authToken;
            authUser.Source   = source.GetName();
            authUser.Gender   = GlobalAuthUtil.GetWechatRealGender(userDetailObj.GetString("gender"));

            authUser.OriginalUser    = userDetailObj;
            authUser.OriginalUserStr = response;
            return(authUser);
        }
Beispiel #12
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            string response = doGetUserInfo(authToken);

            var userObj = response.parseObject();

            this.checkResponse(userObj);

            var authUser = new AuthUser();

            authUser.uuid     = userObj.getString("id");
            authUser.username = userObj.getString("name");
            authUser.nickname = userObj.getString("name");
            authUser.avatar   = userObj.getString("avatar");
            authUser.blog     = userObj.getString("url");
            authUser.location = userObj.getString("location");
            authUser.email    = userObj.getString("email");
            authUser.gender   = GlobalAuthUtil.getRealGender(userObj.getString("gender"));

            authUser.token           = authToken;
            authUser.source          = source.getName();
            authUser.originalUser    = userObj;
            authUser.originalUserStr = response;
            return(authUser);
        }
Beispiel #13
0
        private AuthUserGender getGender(Dictionary <string, object> userObj)
        {
            var basicInformation = userObj.getJSONObject("basicInformation");

            if (basicInformation.Count == 0)
            {
                return(AuthUserGender.UNKNOWN);
            }
            return(GlobalAuthUtil.getRealGender(basicInformation.getString("sex")));
        }
Beispiel #14
0
 /**
  * 返回带{@code state}参数的授权url,授权回调时会带上这个{@code state}
  *
  * @param state state 验证授权流程的参数,可以防止csrf
  * @return 返回授权地址
  * @since 1.9.3
  */
 public override string authorize(string state)
 {
     return(UrlBuilder.fromBaseUrl(source.authorize())
            .queryParam("appid", config.clientId)
            .queryParam("redirect_uri", GlobalAuthUtil.urlEncode(config.redirectUri))
            .queryParam("response_type", "code")
            .queryParam("scope", config.scope.IsNullOrWhiteSpace() ? "snsapi_login" : config.scope)
            .queryParam("state", getRealState(state))
            .build());
 }
Beispiel #15
0
 /**
  * 返回带{@code state}参数的授权url,授权回调时会带上这个{@code state}
  *
  * @param state state 验证授权流程的参数,可以防止csrf
  * @return 返回授权地址
  * @since 1.9.3
  */
 public override string Authorize(string state)
 {
     return(UrlBuilder.FromBaseUrl(source.Authorize())
            .QueryParam("appid", config.ClientId)
            .QueryParam("redirect_uri", GlobalAuthUtil.UrlEncode(config.RedirectUri))
            .QueryParam("response_type", "code")
            .QueryParam("scope", config.Scope.IsNullOrWhiteSpace() ? "snsapi_userinfo" : config.Scope)
            .QueryParam("state", GetRealState(state) + "#wechat_redirect")
            .Build());
 }
Beispiel #16
0
        private AuthToutiaoErrorCode GetToutiaoErrorCode(int errorCode)
        {
            var enumObjects = typeof(AuthToutiaoErrorCode).ToList();
            var codeEnum    = enumObjects.Where(a => a.ID == errorCode).ToList();

            if (codeEnum.Count > 0)
            {
                return(GlobalAuthUtil.EnumFromString <AuthToutiaoErrorCode>(codeEnum[0].Name));
            }
            else
            {
                return(AuthToutiaoErrorCode.EC999);
            }
        }
Beispiel #17
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            string accessToken = authToken.accessToken;
            AlipayUserInfoShareRequest  request  = new AlipayUserInfoShareRequest();
            AlipayUserInfoShareResponse response = null;

            try
            {
                response = this.aopClient.Execute(request, accessToken);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
            if (response.IsError)
            {
                throw new Exception(response.SubMsg);
            }

            string province = response.Province, city = response.City;
            string location = string.Format("{0} {1}", !province.IsNullOrWhiteSpace() ? "" : province, !city.IsNullOrWhiteSpace() ? "" : city);

            var authUser = new AuthUser();

            authUser.username        = response.UserName.IsNullOrWhiteSpace() ? response.NickName : response.UserName;
            authUser.nickname        = response.NickName;
            authUser.avatar          = response.Avatar;
            authUser.location        = location;
            authUser.uuid            = response.UserId;
            authUser.gender          = GlobalAuthUtil.getRealGender(response.Gender);
            authUser.token           = authToken;
            authUser.source          = source.getName();
            authUser.originalUser    = response;
            authUser.originalUserStr = JsonConvert.SerializeObject(response);
            return(authUser);
        }
Beispiel #18
0
        /**
         * 获取token,适用于获取access_token和刷新token
         *
         * @param accessTokenUrl 实际请求token的地址
         * @return token对象
         */
        private AuthToken getToken(string accessTokenUrl)
        {
            var reqParams = new Dictionary <string, object>
            {
                { "Host", "https://login.microsoftonline.com" },
                { "Content-Type", "application/x-www-form-urlencoded" },
            };

            var reqParamDic       = GlobalAuthUtil.parseUrlObject(accessTokenUrl);
            var response          = HttpUtils.RequestPost(accessTokenUrl, JsonConvert.SerializeObject(reqParamDic), reqParams);
            var accessTokenObject = response.parseObject();

            this.checkResponse(accessTokenObject);

            var authToken = new AuthToken();

            authToken.accessToken  = accessTokenObject.getString("access_token");
            authToken.tokenType    = accessTokenObject.getString("token_type");
            authToken.expireIn     = accessTokenObject.getInt32("expires_in");
            authToken.refreshToken = accessTokenObject.getString("refresh_token");
            authToken.scope        = accessTokenObject.getString("scope");

            return(authToken);
        }
Beispiel #19
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            string openId   = this.getOpenId(authToken);
            string response = doGetUserInfo(authToken);
            var    userObj  = response.parseObject();

            if (userObj.getInt32("ret") != 0)
            {
                throw new Exception(userObj.getString("msg"));
            }
            string avatar = userObj.getString("figureurl_qq_2");

            if (avatar.IsNullOrWhiteSpace())
            {
                avatar = userObj.getString("figureurl_qq_1");
            }

            string location = $"{userObj.getString("province")}-{userObj.getString("city")}";

            var authUser = new AuthUser();

            authUser.uuid     = openId;
            authUser.username = userObj.getString("nickname");
            authUser.nickname = userObj.getString("nickname");
            authUser.avatar   = avatar;
            authUser.location = location;
            authUser.email    = userObj.getString("email");
            authUser.remark   = userObj.getString("bio");
            authUser.gender   = GlobalAuthUtil.getRealGender(userObj.getString("gender"));
            authUser.token    = authToken;
            authUser.source   = source.getName();

            authUser.originalUser    = userObj;
            authUser.originalUserStr = response;
            return(authUser);
        }
Beispiel #20
0
        protected override AuthUser getUserInfo(AuthToken authToken)
        {
            var response = doGetUserInfo(authToken);
            var userObj  = response.parseObject();

            this.checkResponse(userObj);

            var authUser = new AuthUser
            {
                uuid            = userObj.getString("id"),
                username        = userObj.getString("name"),
                nickname        = userObj.getString("name"),
                avatar          = getUserPicture(userObj),
                location        = userObj.getString("locale"),
                email           = userObj.getString("email"),
                gender          = GlobalAuthUtil.getRealGender(userObj.getString("gender")),
                token           = authToken,
                source          = source.getName(),
                originalUser    = userObj,
                originalUserStr = response
            };

            return(authUser);
        }
Beispiel #21
0
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            var accessToken = authToken.AccessToken;
            var uid         = authToken.Uid;
            var oauthParam  = $"uid={uid}&access_token={accessToken}";
            var reqParams   = new Dictionary <string, object>();

            reqParams.Add("Authorization", "OAuth2 " + oauthParam);
            reqParams.Add("API-RemoteIP", "application/x-www-form-urlencoded");

            string response = HttpUtils.RequestGet(UserInfoUrl(authToken), reqParams);

            var userObj = response.ParseObject();

            if (userObj.ContainsKey("error"))
            {
                throw new Exception(userObj.GetString("error"));
            }

            var authUser = new AuthUser();

            authUser.Uuid     = userObj.GetString("id");
            authUser.Username = userObj.GetString("name");
            authUser.Nickname = userObj.GetString("screen_name");
            authUser.Avatar   = userObj.GetString("profile_image_url");
            authUser.Blog     = userObj.GetString("url").IsNullOrWhiteSpace() ? $"{"https://weibo.com/"}{userObj.GetString("profile_url")}" : userObj.GetString("url");
            authUser.Location = userObj.GetString("location");
            authUser.Remark   = userObj.GetString("description");
            authUser.Gender   = GlobalAuthUtil.GetRealGender(userObj.GetString("gender"));

            authUser.Token           = authToken;
            authUser.Source          = source.GetName();
            authUser.OriginalUser    = userObj;
            authUser.OriginalUserStr = response;
            return(authUser);
        }
        protected override AuthUser GetUserInfo(AuthToken authToken)
        {
            var response = DoGetUserInfo(authToken);
            var userObj  = response.ParseObject();

            this.checkResponse(userObj);

            var authUser = new AuthUser
            {
                Uuid            = userObj.GetString("id"),
                Username        = userObj.GetString("name"),
                Nickname        = userObj.GetString("name"),
                Avatar          = getUserPicture(userObj),
                Location        = userObj.GetString("locale"),
                Email           = userObj.GetString("email"),
                Gender          = GlobalAuthUtil.GetRealGender(userObj.GetString("gender")),
                Token           = authToken,
                Source          = source.GetName(),
                OriginalUser    = userObj,
                OriginalUserStr = response
            };

            return(authUser);
        }
Beispiel #23
0
        /// <summary>
        /// 获取默认的 Request
        /// </summary>
        /// <param name="authSource"></param>
        /// <returns>{@link AuthRequest}</returns>
        private IAuthRequest getDefaultRequest(string authSource)
        {
            ClientConfig    clientConfig   = GetClientConfig(authSource);
            IAuthStateCache authStateCache = new DefaultAuthStateCache();

            DefaultAuthSourceEnum authSourceEnum = GlobalAuthUtil.EnumFromString <DefaultAuthSourceEnum>(authSource);

            switch (authSourceEnum)
            {
            case DefaultAuthSourceEnum.WECHAT_MP:
                return(new WeChatMpAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.WECHAT_OPEN:
                return(new WeChatOpenAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.WECHAT_ENTERPRISE:
                return(new WeChatEnterpriseAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.WECHAT_ENTERPRISE_SCAN:
                return(new WeChatEnterpriseScanAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.ALIPAY_MP:
                return(new AlipayMpAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.GITEE:
                return(new GiteeAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.GITHUB:
                return(new GithubAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.BAIDU:
                return(new BaiduAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.XIAOMI:
                return(new XiaoMiAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.DINGTALK_SCAN:
                return(new DingTalkScanAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.OSCHINA:
                return(new OschinaAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.CODING:
                return(new CodingAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.LINKEDIN:
                return(new LinkedInAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.WEIBO:
                return(new WeiboAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.QQ:
                return(new QQAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.DOUYIN:
                return(new DouyinAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.GOOGLE:
                return(new GoogleAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.FACEBOOK:
                return(new FackbookAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.MICROSOFT:
                return(new MicrosoftAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.TOUTIAO:
                return(new ToutiaoAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.TEAMBITION:
                return(new TeambitionAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.RENREN:
                return(new RenrenAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.PINTEREST:
                return(new PinterestAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.STACK_OVERFLOW:
                return(new StackOverflowAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.HUAWEI:
                return(new HuaweiAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.KUJIALE:
                return(new KujialeAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.GITLAB:
                return(new GitlabAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.MEITUAN:
                return(new MeituanAuthRequest(clientConfig, authStateCache));

            case DefaultAuthSourceEnum.ELEME:
                return(new ElemeAuthRequest(clientConfig, authStateCache));

            default:
                return(null);
            }
        }