예제 #1
0
        public void SetAuthorizationToken(SpotifyWebAPIWrapper.SpotifyAuthorization.SpotifyToken token, HttpContext context)
        {
            _spotifyAuthorization.Token = token;

            if (_spotifyAuthorization.Token.AccessToken == null || _spotifyAuthorization.Token.TokenObtained.AddSeconds(_spotifyAuthorization.Token.ExpiresIn) < DateTime.Now)
            {
                bool success = _spotifyAuthorization.RequestAccesTokenFromRefreshToken();
                if (success)
                {
                    context.Response.Cookies.Append(SpotifyWebAPIWrapper.SpotifyHelpers.accessTokenCookieKey, token.AccessToken);
                    context.Response.Cookies.Append(SpotifyWebAPIWrapper.SpotifyHelpers.refreshTokenCookieKey, token.RefreshToken);
                    context.Response.Cookies.Append(SpotifyWebAPIWrapper.SpotifyHelpers.expiresInKey, token.ExpiresIn.ToString());
                    context.Response.Cookies.Append(SpotifyWebAPIWrapper.SpotifyHelpers.tokenObtainedKey, token.TokenObtained.ToString("yyyy-MM-ddTHH:mm:ss.fff"));
                }
            }
        }