Проверьте токен доступа, выданный сервером 1 на сервере 2 - PullRequest
0 голосов
/ 15 октября 2019

У меня есть два сервера Web API (S1 и S2), оба работают на двух разных компьютерах, у меня есть база данных в S1, я использую AngularJS в качестве клиентской части. Я отправляю запрос на S1 и получаю Вход, S1 выдает мне токен доступа, я получил доступ к этому токену на стороне клиента. Каким-то образом я отключился от S1. Теперь я подключился к S2 и передаю строку токена, выданную в URL от S1, S2, чтобы получить доступ к ресурсам. Здесь у меня есть вопрос, как я могу проверить строку токена на S2, которая фактически выдана S1? Мне нужно получить утверждения, которые я добавил в Identity на S1, чтобы я мог видеть и проверять пользователя. Кто-нибудь может мне помочь с этим вопросом? Вот пример строки доступа токена.

token = "oOmV3D0iZguDKoz8E6kfKIxdzrjkY0NcCQWVGjQ21CQl4iE1uI6MfkdZ-3zKYfovqdw2X8KwaMr8dhmLWwGvVSBocK6rcYCvhqDMLFkzCAPOaeW74hMG_Ghu2mZGqXzdz7UjwpecTtHs4xs0V2hG_QYTbkXDeAljZXE4uIBQuAOgqhM8mwS7AR8boVz_Wblezq8MOksMoXW0hyTt1rhjt7CaEQSbRGW7lhQTFqx0iiGlif_-AZp-Y7o6DkU8FSuRT5jAKRxs0oP68QsScOpylQVFQ1k0n55DSNgLbboBvg4AgR42vVhWPQGPcv9la7gZSS2TnkVnIjYmGsmtk1_tMg"

Вот код, который я пытался на S2 получить претензии из строки «token».

[HttpGet]
[AllowAnonymous]
[Route("api/GetUserClaims")]
public IHttpActionResult GetUserClaims(string token)
{
var identityClaims = (ClaimsIdentity)User.Identity;
IEnumerable<Claim> claims = identityClaims.Claims;
var serid = identityClaims.FindFirst("serverid").Value;
}
...