Поток токенов носителя JWT с IdentityServer v3

Я пытаюсь реализовать авторизацию OAuth2 для моего веб-API и использовать документы Google в качестве модели. Конкретный поток, который я пытаюсь реализовать, - это поток "Учетная запись службы": здесь (который, как я понимаю, также известен как поток маркеров носителя JWT?).

Как я могу реализовать это, используя Thinktecture в моем приложении MVC? (Или есть лучшая альтернатива?)

1 ответ

Вы должны быть в состоянии использовать тот же код, что и в примере, который был предоставлен как часть v2 ( https://github.com/thinktecture/Thinktecture.IdentityServer.v2/blob/master/samples/AdfsIntegrationSampleClient/AdfsIntegrationSampleClient/Program.cs#L123), так:

        var client = new HttpClient { BaseAddress = new Uri(idsrvEndpoint) };

        var values = new Dictionary<string, string>
        {
            { OAuth2Constants.GrantType, "urn:ietf:params:oauth:grant-type:jwt-bearer" },
            { OAuth2Constants.Assertion, jwt },
            { OAuth2Constants.Scope, realm }
        };

        var form = new FormUrlEncodedContent(values);

        var response = client.PostAsync("", form).Result;
        response.EnsureSuccessStatusCode();

        var tokenResponse = response.Content.ReadAsStringAsync().Result;
        var json = JObject.Parse(tokenResponse);
        return json["access_token"].ToString();
Другие вопросы по тегам