Example #1
0
        public Task <bool> GetAuth(WebServer server, HttpListenerContext context)
        {
            string state = context.Request.QueryString["state"];
            SpotifyAuthServer <Token> auth = ImplictGrantAuth.GetByState(state);

            if (auth == null)
            {
                return(context.StringResponseAsync(
                           $"Failed - Unable to find auth request with state \"{state}\" - Please retry"));
            }

            Token  token;
            string error = context.Request.QueryString["error"];

            if (error == null)
            {
                string accessToken = context.Request.QueryString["access_token"];
                string tokenType   = context.Request.QueryString["token_type"];
                string expiresIn   = context.Request.QueryString["expires_in"];
                token = new Token
                {
                    AccessToken = accessToken,
                    ExpiresIn   = double.Parse(expiresIn),
                    TokenType   = tokenType
                };
            }
            else
            {
                token = new Token()
                {
                    Error = error
                };
            }

            Task.Factory.StartNew(() => auth.TriggerAuth(token));
            return(context.StringResponseAsync("OK - This window can be closed now"));
        }
Example #2
0
        public Task <bool> GetEmpty(WebServer server, HttpListenerContext context)
        {
            string state = context.Request.QueryString["state"];

            AuthorizationCodeAuth.Instances.TryGetValue(state, out SpotifyAuthServer <AuthorizationCode> auth);

            string code  = null;
            string error = context.Request.QueryString["error"];

            if (error == null)
            {
                code = context.Request.QueryString["code"];
            }

            Task.Factory.StartNew(() => auth?.TriggerAuth(new AuthorizationCode
            {
                Code  = code,
                Error = error
            }));

            return(context.StringResponseAsync("OK - This window can be closed now"));
        }