Beispiel #1
0
 public TraktAuthenticator(string clientId, string clientSecret, Uri redirectUri, OAuthToken token = null)
 {
     ClientId = clientId;
     ClientSecret = clientSecret;
     RedirectUri = redirectUri;
     this.token = token;
 }
Beispiel #2
0
        public Task SaveAsync(OAuthToken token)
        {
            return Task.Run(delegate
            {
                var json = JsonConvert.SerializeObject(token);

                fileStore.WriteFile(TokenPath, json);
            });
        }
Beispiel #3
0
        public async Task GetAccessTokenAsync(IRestClient client, string authCode)
        {
            var request = new RestRequest("oauth/token", HttpMethod.Post).
                AddJsonBody(new
                {
                    code = authCode,
                    redirect_uri = RedirectUri.AbsoluteUri,
                    grant_type = "authorization_code",
                    client_id = ClientId,
                    client_secret = ClientSecret
                });

            var response = await client.Execute<OAuthToken>(request);

            token = response.Data;
        }
Beispiel #4
0
        public Task<bool> SilentLoginAsync()
        {
            return Task.Run<bool>(delegate
            {
                if (!fileStore.Exists(TokenPath))
                    return false;

                string fileText;
                if (!fileStore.TryReadTextFile(TokenPath, out fileText))
                    return false;

                token = JsonConvert.DeserializeObject<OAuthToken>(fileText);

                return true;
            });
        }
Beispiel #5
0
 public TraktService(string clientId, string clientSecret, Uri redirectUri, OAuthToken token = null)
 {
     client = new RestClient("https://api.trakt.tv");
     client.Authenticator = new TraktAuthenticator(clientId, clientSecret, redirectUri, token);
 }