Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transport of username/password in RPC Metadata #141

Open
pmartinou opened this issue Jun 16, 2021 · 1 comment
Open

Transport of username/password in RPC Metadata #141

pmartinou opened this issue Jun 16, 2021 · 1 comment

Comments

@pmartinou
Copy link

Section 3.1 (Session Security, Authentication and RPC Authorization) of the gnmi specification indicates that the username and password for user Authentication should be transported in the metadata of the RPC message.
The [GNMI_AUTH] specification indicates that "gRPC Authentication support" should be leveraged.

It would be useful to clarify how exactly the username/password should be transported in the Metadata, as several understandings are possible:

  1. Use an "Authorization" header key, with "Basic " RFC 7617 Basic Authentication, or

  2. Use a "username" and a "password" header keys.
    The latter being restrictive in terms of allowed chars - ASCII only, as indicated in the Javadoc of Metadata:

   * <p>Names are ASCII string bytes that contains only the characters listed in the class comment
   * of {@link Key}. If the name ends with {@code "-bin"}, the value can be raw binary. Otherwise,
   * the value must contain only characters listed in the class comments of {@link AsciiMarshaller}
@robshakir
Copy link
Contributor

The current implementation is using the username and password metadata keys. You can see this implemented in the reference implementation in the github.com/openconfig/gnmi repo.

Note that this is not the intended long term solution for auth - there are community efforts underway to move to a generic gRPC based auth framework; which will be published once an initial proposal has been formulated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants