Просмотр исходного кода

redirect to home page after authorization

tags/v1.1.0^2
anastasijasavov 3 лет назад
Родитель
Сommit
f05f31c3a4
3 измененных файлов: 16 добавлений и 6 удалений
  1. 3
    3
      IdentityProvider/Services/AuthService.cs
  2. 6
    3
      NemAnCore/Pages/Callback.razor
  3. 7
    0
      NemAnCore/Pages/Home.razor

+ 3
- 3
IdentityProvider/Services/AuthService.cs Просмотреть файл

string url = "https://accounts.spotify.com/api/token"; string url = "https://accounts.spotify.com/api/token";
http.BaseAddress = new Uri(url); http.BaseAddress = new Uri(url);


//get client id and secret from appsettings, convert to base64 and set as header
//get client id and secret, and redirect uri from appsettings, convert to base64 and set as header
var secrets = await GetAuthParams(); var secrets = await GetAuthParams();
byte[] contentType = Encoding.UTF8.GetBytes($"{secrets.ClientId}:{secrets.ClientSecret}"); byte[] contentType = Encoding.UTF8.GetBytes($"{secrets.ClientId}:{secrets.ClientSecret}");
tokenRequest.redirect_uri = secrets.RedirectURI; tokenRequest.redirect_uri = secrets.RedirectURI;
http.DefaultRequestHeaders.Accept.Add( http.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json")); new MediaTypeWithQualityHeaderValue("application/json"));


//BODY
//BODY PARAMS
var requestBody = new Dictionary<string, string>(); var requestBody = new Dictionary<string, string>();
requestBody["grant_type"] = tokenRequest.grant_type; requestBody["grant_type"] = tokenRequest.grant_type;
requestBody["code"] = tokenRequest.code!; requestBody["code"] = tokenRequest.code!;
requestBody["redirect_uri"] = tokenRequest.redirect_uri!; requestBody["redirect_uri"] = tokenRequest.redirect_uri!;


//REQUEST
var response = await http.PostAsync(url, new FormUrlEncodedContent(requestBody)); var response = await http.PostAsync(url, new FormUrlEncodedContent(requestBody));


var contents = JsonConvert.DeserializeObject<TokenResponse>(await response.Content.ReadAsStringAsync()); var contents = JsonConvert.DeserializeObject<TokenResponse>(await response.Content.ReadAsStringAsync());

+ 6
- 3
NemAnCore/Pages/Callback.razor Просмотреть файл

string code = url.Split("=")[1]; string code = url.Split("=")[1];


var response = await AuthService.GetAccessToken(new GrpcShared.DTO.Auth.TokenRequest { code = code}); var response = await AuthService.GetAccessToken(new GrpcShared.DTO.Auth.TokenRequest { code = code});


//store access token in local storage //store access token in local storage
await sessionStorage.SetItemAsync("token", response.access_token);
await sessionStorage.SetItemAsync("refresh_token", response.refresh_token);
await sessionStorage.SetItemAsync("token", response.access_token);
await sessionStorage.SetItemAsync("refresh_token", response.refresh_token);

//redirect to home
NavigationMgr.NavigateTo("/home");
} }
} }

+ 7
- 0
NemAnCore/Pages/Home.razor Просмотреть файл

@page "/home"
<h3>Home</h3>

<p>pozdrav, login radi</p>
@code {

}

Загрузка…
Отмена
Сохранить