Beispiel #1
0
        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;
        }
Beispiel #2
0
        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/");
        }