Запрос представляет собой обертку вокруг необработанного объекта HttpRequest из стандартной библиотеки Dart, поэтому один из способов - получить к нему следующий доступ:
request.raw.headers["authorization"]
Вы также можете привязать значение заголовка к параметру метода; Это хорошо, когда вы хотите проанализировать значение заголовка строки в другом типе и / или проверить заголовок. ( Вы можете сделать некоторые действительно удобные вещи с привязкой. )
@Operation.get()
Future<Response> signIn(
@Bind.header("authorization") String authorization) async {
...
}
Наконец, для заголовка Authorization вы можете использовать промежуточное ПО Authorizer. Это проверяет заголовок авторизации и создает объект авторизации с информацией об авторизованном владельце ресурса («пользователь»), к которому вы можете получить доступ из вашего метода.
router.route("/secret")
.link(() => Authorizer.bearer(authServer))
.link(() => SecretController());
...
@Operation.get()
Future<Response> signIn() async {
final userIDForRequest = request.authorization.ownerID;
}