예제 #1
0
        public string BuildAuthorizationUrl(QQConnectProperties properties, string state)
        {
            var scopes = new HashSet <string>()
                         .AddAll(Scopes);

            var isMobile = IsMobile;

            if (properties != null)
            {
                scopes.AddAll(properties.Scopes);
                isMobile = properties.IsMobile;
            }

            var scope = string.Join(",", scopes);

            var authorizationUrl = AuthorizationEndpoint
                                   + "?response_type=code"
                                   + "&client_id=" + Uri.EscapeDataString(ClientId)
                                   + "&redirect_uri=" + Uri.EscapeDataString(RedirectUrl())
                                   + "&state=" + Uri.EscapeDataString(state)
                                   + "&scope=" + Uri.EscapeDataString(scope);

            if (isMobile)
            {
                authorizationUrl += "&display=mobile";
            }

            return(authorizationUrl);
        }
예제 #2
0
 public string BuildAuthorizationUrl(QQConnectProperties properties, string state)
 {
     return(_options.BuildAuthorizationUrl(properties, state));
 }