async void HandleCallback(string url) { await safari.DismissViewControllerAsync(true); var result = await _client.ProcessResponseAsync(url, _state); if (result.IsError) { OutputTextView.Text = result.Error; return; } var sb = new StringBuilder(128); foreach (var claim in result.User.Claims) { sb.AppendFormat("{0}: {1}\n", claim.Type, claim.Value); } sb.AppendFormat("\n{0}: {1}\n", "refresh token", result?.RefreshToken ?? "none"); sb.AppendFormat("\n{0}: {1}\n", "access token", result.AccessToken); OutputTextView.Text = sb.ToString(); _apiClient = new HttpClient(); _apiClient.SetBearerToken(result.AccessToken); _apiClient.BaseAddress = new Uri("https://api.identityserver.io"); CallApiButton.Enabled = true; }
async void HandleCallback(string url) { await safari.DismissViewControllerAsync(true); var result = await _client.ValidateResponseAsync(url, _state); var sb = new StringBuilder(128); foreach (var claim in result.Claims) { sb.AppendFormat("{0}: {1}\n", claim.Type, claim.Value); } sb.AppendFormat("\n{0}: {1}\n", "refresh token", result.RefreshToken); sb.AppendFormat("\n{0}: {1}\n", "access token", result.AccessToken); OutputTextView.Text = sb.ToString(); _apiClient = new HttpClient(result.Handler); _apiClient.BaseAddress = new Uri("https://demo.identityserver.io/api/"); }