Как получить токен на предъявителя в моем контроллере REST? - PullRequest
1 голос
/ 03 апреля 2019

Здравствуйте (извините за мой плохой английский)

У меня есть фронт Angular Vue.js, который подключается к моим Rest Api Services в C #.У меня разработано не менее 20 сервисов.Теперь я хочу защитить их.

С помощью POSTMAN и URL-адреса https://login.microsoftonline.com... я получаю «токен», затем пытаюсь получить разрешение и помещаю hardCode указанный токен, и результат его: "StatusCode": 200, "ReasonPhrase": "Authorized",

Я делаю что-то вроде этого:

    public class TokenController : ApiController
    {
        public IHttpActionResult Get()
        {
            Task<HttpResponseMessage> d = TokenManager.GetGroups("token");
            return Ok(d);
        }
    }


    public static Task<HttpResponseMessage> GetGroups(string token)
    {
        var httpClient = new HttpClient();

        var uri = "https://graph.microsoft.com/v1.0/groups";
        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

        var res = httpClient.GetAsync(uri, HttpCompletionOption.ResponseContentRead).Result;

        return Task.Delay(3000).ContinueWith(t => res);
    }

Моя проблема в том, что я не знаю, где или что у меня естьсделать, чтобы получить «жетон на предъявителя» с «фронта».Я не могу получить токен по параметру в URL-адресе службы, поскольку он слишком длинный.

Спасибо.

1 Ответ

0 голосов
/ 04 апреля 2019

С Request.Headers у меня есть токен на предъявителя.

Я вызываю "string tt = Request.Headers.Authorization.ToString ();"в моем контроллере и все отлично работает

...