- From: Adrian Hope-Bailie <adrian@hopebailie.com>
- Date: Sun, 8 Sep 2019 12:24:55 +0200
- To: Graham Klyne <gk@ninebynine.org>
- Cc: uri@w3.org
- Message-ID: <CA+eFz_JhQ5R=joH8hHm8ygojMbZqef_aEhHX-qkrdvE3r11vmw@mail.gmail.com>
I think my use case may not have been clear.
Let's assume I have an endpoint that is accessed via Bearer token.
I am storing the endpoint URL and token in a config file for a client that
must access the service.
Using JSON as an example
I can either store:
"config" : "https://:secrettoken@example.com/api"
or
"config" : {
"endpoint": "https://example.com/api",
"token": "secrettolen"
}
The former seems like a neat way to do this and establish a convention that
would work across languages and clients and not be bound to a config data
model.
(Database connection strings which have adopted URI's as a convention in
many cases, is a similar use case)
As I noted before the convention is for an HTTP client that is passed the
following URL:
https://user:pass@example.com/api
to make an HTTP request to https://example.com/api using BASE64(user:pass@)
as in the Authorization header as "Basic BASE64(user:pass@)".
Restating my question, given the prevalence use of Bearer tokens these days
would it makes sense to establish a convention of assuming that a
username:password where the username is empty is intended to be used as a
Bearer token as opposed to a Basic auth credential or is the storing of
Basic auth credentials in the URl geenrally considered a bad idea these
days so it's a bad example to copy?
On Sun, 8 Sep 2019 at 10:11, Graham Klyne <gk@ninebynine.org> wrote:
> I'd say this could be problematic. E.g., see:
>
> https://www.w3.org/TR/capability-urls/#advantages
> https://stackoverflow.com/questions/4833314/are-secret-urls-truly-secure
>
> (and other responses to googling "secrets in urls").
>
> #g
> --
>
>
>
> On 06/09/2019 16:53, Adrian Hope-Bailie wrote:
> > Does anyone know of a specification or documented convention for
> providing a
> > bearer token in a URL?
> >
> > I.e. There are a number of HTTP clients that will interpret userinfo in
> a URL as
> > being the value to send in an HTTP Authorization header using Basic auth.
> >
> > I assume this is a peculiarity of HTTP and I note the username:password
> form is
> > deprecated in RFC3986.
> >
> > Does a convention of https://:<token>@host make sense?
> > ie. empty username and token SHOULD never be displayed in the clear
> because it
> > is after the colon.
> >
> > The use case here is providing, for example, a callback URL that is
> secured
> > using a bearer token.
> > Or storing the URL in config in a form that is easily serialized to a
> string
> > without needing to define an encoding and format etc.
>
>
Received on Sunday, 8 September 2019 10:25:32 UTC