Beispiel #1
0
        private async Task <bool> CheckLogin()
        {
            if (FlickrNet == null || FlickrNet.OAuthAccessToken == null || FlickrNet.OAuthAccessTokenSecret == null)
            {
                IsAuthenticated = false;
                return(IsAuthenticated);
            }
            try
            {
                var user = await FlickrNet.RetryOnFailureAsync(f => f.TestLoginAsync());

                if (user != null)
                {
                    UserName = user.UserName;
                    var info = await FlickrNet.RetryOnFailureAsync(f => f.PeopleGetInfoAsync(user.UserId));

                    IconUri = new Uri(int.TryParse(info.IconServer, out int iconServer) && iconServer > 0
                        ? $"http://farm{info.IconFarm}.staticflickr.com/{iconServer}/buddyicons/{user.UserId}.jpg"
                        : "https://www.flickr.com/images/buddyicon.gif");
                    IsAuthenticated = true;
                }
                else
                {
                    IsAuthenticated = false;
                }
            }
            catch (Exception)
            {
                IsAuthenticated = false;
            }
            return(IsAuthenticated);
        }
Beispiel #2
0
        public async Task <bool> AuthenticateAsync(string validation)
        {
            var accessToken = await FlickrNet.RetryOnFailureAsync(f => f.OAuthAccessTokenAsync(requestToken.Token, requestToken.TokenSecret, validation));

            FlickrNet.OAuthAccessToken       = accessToken.Token;
            FlickrNet.OAuthAccessTokenSecret = accessToken.TokenSecret;
            if (await CheckLogin())
            {
                var localSettings = ApplicationData.Current.LocalSettings;
                localSettings.Values["accessToken"] = accessToken.Token;
                localSettings.Values["tokenSecret"] = accessToken.TokenSecret;
                RequestToken = null;
            }
            return(IsAuthenticated);
        }
Beispiel #3
0
        public async Task <string> GetAuthPageUrlAsync(string callbackUrl = DefaultCallbackUrl)
        {
            RequestToken = await FlickrNet.RetryOnFailureAsync(f => f.OAuthRequestTokenAsync(callbackUrl));

            return(FlickrNet.OAuthCalculateAuthorizationUrl(RequestToken.Token, AuthLevel.Write));
        }