2016-03-04 2 views
0

Я заранее извиняюсь за неправильное использование терминалов oauth.OAuth 2.0 Одноразовый токен доступа для пользователя, не прошедшего проверку подлинности, через IdentityServer4

У меня есть 4 "стороны" следующим образом (намеренно не используют термины OAuth, где это возможно):

  • End-пользователя в браузере (JavaScript)
  • Наш сайт (САШ)
  • Наш веб апи (САШ)
  • Наш сервер аутентификации (САШ с использованием identityserver 4)

Мой сценарий использования заключается в том, что мы хотим, чтобы API вызывался браузером, который сначала запросил страницу с веб-сайта. Хотя API не выпускает конфиденциальную информацию, мы хотели бы представить уровень сложности в отношении спама API.

Наши конечные пользователи не регистрируются в.

Я полагаю, такой поток является родственным:

  1. Браузер запрашивает определенную страницу с сайта (тот, который, скорее всего, приведет к Js сделать вызов API)
  2. запросы Сайт фишку от Идент сервера
  3. сервер Auth проверяет маркер пришел запрос с веб-сайта (самого сервера)
  4. сервер Auth возвращает маркер на сайт
  5. Websit E вывел следующую страницу, включая токена доступа
  6. браузер может сделать запрос API с использованием маркера

Несмотря на то, запутанным, я считаю, что это, по крайней мере похож на поток Client Access Grant?

Эти токены могут быть дросселированы либо на веб-сайте, либо на сервере auth.

Да, я знаю, что это не защищает api от множества других векторов, но устраняет простейшие случаи, которые мы все еще хотим достичь. Я добавлю, я не определял это требование, я просто пытаюсь найти способ добиться этого, используя техников, вместо того, чтобы совершать ошибку, сворачивая что-нибудь свое.

Может ли кто-нибудь подтвердить/опровергнуть, что есть поток oauth, который я мог бы использовать здесь? Любые примеры проектов с использованием данного потока и IdentityServer?

IdentityServer3/non-aspnet [core/5] примеры в порядке, я могу перевести.

ответ

0

Что вы описываете, это Client Credentials Grant, где ваш сайт (клиент) получает токен доступа с сервера идентификации (auth server).Этот токен доступа затем можно использовать для вызова конечных точек в вашем веб-API (сервер ресурсов).

Токен является токеном-носителем и может использоваться любым, у кого есть его, поэтому, если вам удобно, когда ваш сайт передает его обратно в браузер по HTTP-ответу, он будет работать нормально.

Я не уверен, что вы подразумеваете под дросселированием жетонов - однажды чеканились, они действительны для их жизни. Я думаю, вы можете сохранить время, чтобы жить очень коротким, чтобы достичь единственного использования, которое вы хотите.

+0

Спасибо за ответ, @iandayman. Знаете ли вы о каких-либо примерах гранта учетных данных клиентов с использованием IdentityServer? – Smudge202

+0

@ Smudge202 Посмотрите на https://identityserver.github.io/Documentation/docs/overview/simplestOAuth.html – iandayman

Смежные вопросы