Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

Blazor Server side application oauth redirect

$
0
0

I am using a blazor server side application to get an access token to have that page call an API. it uses oauth for authorization code flow

so when /Ninja loads I have this code:

protected override async void OnInitialized() {    if (DeviceService.Token != null)     {         var authorizationUrl = Service.GetAuthorizationUrl();         Navigation.NavigateTo(authorizationUrl);     }     else {          Console.WriteLine($"Token {Service.Token}"); //do stuff here in future with API calls     }}

the authorizationUrl is a URL from the oauth provider that returns a code for me to use as a query param

on my callback page (/Callback)

 [Parameter]    [SupplyParameterFromQuery(Name = "code")]    public string? code { get; set; }  protected override async Task OnInitializedAsync()    {        if (string.IsNullOrEmpty(code))        {            Console.WriteLine("The authorization code is required.");            throw new ArgumentException("The authorization code is required.");        }        try        {            var accessToken = await _ninjaService.GetAccessTokenAsync(code);            if (accessToken != null)            {                Navigation.NavigateTo("/Ninja");            }        }        catch (Exception ex)        {            Console.WriteLine($"Failed to retrieve access token: {ex.Message}"); //errors here all the time with :    ///Failed to retrieve access token: Exception of type 'Microsoft.AspNetCore.Components.NavigationException' was thrown.        }    }}

The access token is not null - so its present and valid but the router never changes so I am stuck on /Callback with the exception of Failed to retrieve access token: Exception of type 'Microsoft.AspNetCore.Components.NavigationException' was thrown.

Can someone help me? Ideally the app would route back to /Ninja and avoid a routing loop so with this new token I can call some APIs that require it


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>