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)); }