Esempio n. 1
0
        async Task LoadCachedTokenAsync()
        {
            StoreSettings settings = await ReadSettingsAsync();

            if (settings != null)
            {
                try
                {
                    if (!string.IsNullOrEmpty(settings.AuthToken) && JwtUtility.GetTokenExpiration(settings.AuthToken) > DateTime.UtcNow)
                    {
                        MobileService.CurrentUser =
                            new MobileServiceUser(settings.UserId)
                        {
                            MobileServiceAuthenticationToken = settings.AuthToken
                        };
                    }
                }
                catch (InvalidTokenException)
                {
                    settings.AuthToken = string.Empty;
                    settings.UserId    = string.Empty;

                    await SaveSettingsAsync(settings);
                }
            }
        }
Esempio n. 2
0
        async Task CacheToken(MobileServiceUser user)
        {
            var claims   = JwtUtility.GetClaims(user.MobileServiceAuthenticationToken);
            var settings = new StoreSettings
            {
                UserId    = claims[JwtClaimNames.Subject],
                Email     = claims["email"],
                FirstName = claims[JwtClaimNames.GivenName],
                LastName  = claims[JwtClaimNames.FamilyName],
                RoleName  = claims["role"],
                AuthToken = user.MobileServiceAuthenticationToken
            };

            await SaveSettingsAsync(settings);
        }