Как использовать почтальон или http запрос для передачи пользователя - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть базовый проект asp. net, и одно из моих полей задается через Пользователь? .Identity? .Name. Мне интересно, есть ли способ передать личность через HTTP-запрос, а не войти на сайт. Я довольно много расспрашивал, и никто, кажется, этого не делал, хотя для меня имеет смысл, что это возможно, учитывая, что сеть не имеет состояния. Любое понимание будет интересно. Спасибо!

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Здесь тонна неизвестных, потому что ваш вопрос не конкретизирован c ни о чем. Вообще говоря, аутентификация обычно обрабатывается одним из двух основных способов: заголовок cook ie или Authorization.

Authe на основе Cook ie - более традиционная форма веб-аутентификации. Вы отправляете форму на странице входа в систему с именем пользователя и паролем, сервер получает этот запрос и обрабатывает его, проверяя учетные данные, и, если он верен, устанавливает значение cook ie через заголовок ответа Set-Cookie с зашифрованным билетом аутентификации. При каждом последующем запросе браузер отправляет этот cook ie обратно на сервер через заголовок запроса Cookie, расшифровывает и проверяет билет проверки подлинности и, если он все еще действителен, «восстанавливает» аутентифицированный сеанс: т.е. распознает аутентифицированного пользователя .

API, как правило, вместо этого выполняют аутентификацию через заголовок запроса Authorization. Обычно клиент сначала отправляет запрос конечной точке аутентификации с некоторым набором учетных данных. Это может быть имя пользователя / пароль или пара идентификатора клиента / секрета и т. Д. c. Сервер снова проверяет учетные данные и, если он действителен, возвращает ответ, содержащий токен. Затем этот токен отправляется вместе с фактическим запросом, который клиент хочет сделать, через заголовок Authorization, например Authorization: Bearer {token}. Хотя есть и другие формы, которые может принять заголовок. Например, вы можете вместо этого использовать базовую аутентификацию c, и вместо того, чтобы использовать конечную точку аутентификации, сначала вы просто передадите имя пользователя и пароль в виде строки в кодировке Base64, например Authorization: Basic {base64-encoded user:pass}.

Long и Короче говоря, да, что-то всегда отправляется с просьбой «авторизовать» это, будь то заголовок cook ie или Authorization. Однако то, что вы отправляете и как оно обрабатывается, зависит от того, как приложение было настроено для обработки аутентификации, и вы не подробно описали это здесь. Вы не можете просто отправить заголовок Authorization с базовой аутентификацией c, например, если ваше приложение явно не настроено, чтобы знать, что оно должно искать это, и фактически знает, как его обрабатывать.

Если вы используете подход авторизации на основе cook ie, вы можете mimi c, отправив форму, передав те же данные, что и форма HTML, по тому же URL-адресу аналогичным образом (x-www-form-urlencoded ). Ответом будет HTML любой страницы, на которую переходит пользователь, но повар ie будет в обработчике Set-Cookie. Вы можете захватить это, а затем отправить его вместе с заголовком Cookie вашего запроса. Вы можете сделать все это через что-то вроде Postman, но вам все равно придется go через процесс аутентификации, в любом случае.

Если вы имеете дело с API, то вам следует использовать какую-то другую форму аутентификации : basi c, на предъявителя и др. c. Однако, опять же, вам нужно будет это настроить.

1 голос
/ 16 апреля 2020

Зависит от того, какую службу аутентификации вы используете, если вы используете OAuth 2.0 на. net ядре, вам необходимо войти в систему, отправив такие параметры, как Username и Password в запросе http а затем получите токен доступа для других запросов HTTP, чтобы почтальон имел эту опцию: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...