Skip to content

Commit 410324b

Browse files
committed
Clarifications based on pull request feedback
- MTLS usage - Token usage Signed-off-by: Olle E. Johansson <[email protected]>
1 parent e04f2d4 commit 410324b

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

auth/readme.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# Transparency Exchange API - Authentication and authorization
22

3-
4-
**NOTE**: _This is a proposal for the WG_
5-
63
This document covers authentication and authorization on the consumer side
74
of a TEA service - the discovery and download of software transparency artefacts.
85

@@ -12,7 +9,8 @@ __Authorization__: A user of a TEA service may get access to all objects (leaf,
129
artefacts or just a subset, depending on the publisher of the data. Authorization is connected
1310
to __authentication__.
1411

15-
The level of authorization is up to the implementer of the TEA implementation and the publisher.
12+
The level of authorization is up to the implementer of the TEA implementation and the publisher,
13+
whether an identity gets access to all objects in a service or just a subset.
1614

1715
In order to get interoperability between clients and servers implementing the protocol, the
1816
specification focuses on the authentication. After successful authentication, the authorization
@@ -27,6 +25,15 @@ the customer has not aquired.
2725
For most Open Source projects, implementing authentication - setting up accounts and managing
2826
authorization - does not make much sense, since the information is usually in the open any way.
2927

28+
This specification does not impose any requirement on authentication on a TEA service. But should
29+
the provider implement authentication, two methods are supported in order to promote interoperability.
30+
31+
* HTTP Bearer Token Authentication
32+
* Mutual TLS with verifiable client and server certificates
33+
34+
A client may use both HTTP bearer token auth and TLS client certificates
35+
when accessing multiple TEA services. It is up to the service provider to select authentication.
36+
3037
## HTTP bearer token auth
3138

3239
The API will support HTTP bearer token in the __Authorization:__ http header.
@@ -37,6 +44,17 @@ As an example the token can be downloaded from a customer support portal with a
3744
validity. This token is then installed into the software transparency platform (the TEA client)
3845
and used to automatically retrieve software transparency artefacts.
3946

47+
For each TEA service, one bearer token is needed. The token itself (or the backend) should
48+
specify authorization for the token.
49+
50+
## Mutual TLS
51+
52+
For Mutual TLS the client certificates will be managed by the service and provided
53+
in a service-specific way. Clients should be able to configure a separate client certificate
54+
(and private key) on a per-service level, not assuming that a client certificate
55+
for one service is trusted anywhere else.
56+
4057
## References
4158

42-
- RFC 6750: The Oauth 2.0 Authorization Framework: Bearer Token Usage (https://www.rfc-editor.org/rfc/rfc6750)
59+
* RFC 6750: The Oauth 2.0 Authorization Framework: Bearer Token
60+
Usage (https://www.rfc-editor.org/rfc/rfc6750)

0 commit comments

Comments
 (0)