From b1d257c93a9b3fc689380ee81147e951696a7ce6 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sat, 10 Feb 2018 22:03:39 -0800 Subject: [PATCH] ircd: Support authorization: bearer access tokens. --- ircd/resource.cc | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ircd/resource.cc b/ircd/resource.cc index 6b95e4168..20d282ee8 100644 --- a/ircd/resource.cc +++ b/ircd/resource.cc @@ -129,11 +129,22 @@ ircd::authenticate(client &client, resource::request &request) try { - const string_view &access_token + string_view access_token { - request.query.at("access_token") + request.query["access_token"] }; + if(empty(access_token)) + { + const auto authorization + { + split(request.head.authorization, ' ') + }; + + if(iequals(authorization.first, "bearer"_sv)) + access_token = authorization.second; + } + const bool result { access_token &&