예제 #1
0
        protected override string BuildChallengeUrl(AuthenticationProperties properties, string redirectUri)
        {
            var signInParams = properties.GetQQConncetSignInParams();
            var scopes       = Options.Scope.ToArray();
            var displayMode  = Options.DisplayMode;

            if (signInParams != null)
            {
                if (signInParams.Scopes != null && signInParams.Scopes.Length > 0)
                {
                    scopes = signInParams.Scopes;
                }

                if (string.IsNullOrWhiteSpace(signInParams.DisplayMode) == false)
                {
                    displayMode = signInParams.DisplayMode;
                }

                properties.RemoveQQConncetSignInParams();
            }

            var state = Options.StateDataFormat.Protect(properties);

            return(QQConncetHelper.BuildAuthorizationUrl(
                       authorizationEndpoint: Options.AuthorizationEndpoint,
                       clientId: Options.ClientId,
                       scopes: scopes,
                       state: state,
                       redirectUri: redirectUri,
                       displayMode: displayMode));
        }