Esempio n. 1
0
        /// <summary>
        /// Component Initialized
        /// </summary>
        protected override async Task OnInitializedAsync()
        {
            try
            {
                if (NavigationManager.Uri.Contains("access_denied") || !NavigationManager.Uri.Contains("access_token"))
                {
                    NavigationManager.NavigateTo(Urls.Index);
                }

                var keyValuePairs = NavigationManager.Uri.Split('#')[1].Split('&');

                var token = new AuthenticationToken();
                token.AccessToken = keyValuePairs.FirstOrDefault(o => o.Contains("access_token")).Split('=')[1];
                token.ExpiresOn   = DateTime.Now.AddSeconds(Convert.ToInt32(keyValuePairs.FirstOrDefault(o => o.Contains("expires_in")).Split('=')[1]));
                token.TokenType   = keyValuePairs.FirstOrDefault(o => o.Contains("token_type")).Split('=')[1];

                var user = await SpotifyService.GetCurrentUserProfile(token);

                if (user == null)
                {
                    NavigationManager.NavigateTo(Urls.Index);
                }

                AuthenticationService.User = user;
                AuthenticationService.AuthenticationToken = token;
                AuthenticationService.IsAuthenticated     = true;

                NavigationManager.NavigateTo(Urls.SiteIndex);
            }
            catch (Exception ex)
            {
                PageException = ex;
            }
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override async Task OnInitAsync()
        {
            try
            {
                var uri = UriHelper.GetAbsoluteUri();

                if (uri.Contains("access_denied"))
                {
                    UriHelper.NavigateTo(ConfigurationService.SpotifyLoginUrl);
                }

                var keyValuePairs = uri.Split('#')[1].Split('&');

                var token = new AuthenticationToken();
                token.AccessToken = keyValuePairs.FirstOrDefault(o => o.Contains("access_token")).Split('=')[1];
                token.ExpiresOn   = DateTime.Now.AddSeconds(Convert.ToInt32(keyValuePairs.FirstOrDefault(o => o.Contains("expires_in")).Split('=')[1]));
                token.TokenType   = keyValuePairs.FirstOrDefault(o => o.Contains("token_type")).Split('=')[1];

                Logger.LogInformation("Access Granted");

                var user = await SpotifyService.GetCurrentUserProfile(token);

                AuthenticationService.User  = user;
                AuthenticationService.Token = token;

                UriHelper.NavigateTo("Authenticated/Randifier");
            }
            catch (Exception ex)
            {
                PageException = ex;
                Logger.LogError(ex, ex.Message);
            }
        }