commit | b3d81a2ec6dc163a01d132fc275dec9cfd13f356 | [log] [tgz] |
---|---|---|
author | Daniel Gruno <humbedooh@apache.org> | Sun May 21 09:48:32 2023 -0500 |
committer | Daniel Gruno <humbedooh@apache.org> | Sun May 21 09:48:32 2023 -0500 |
tree | 8130fe2b7017a3528dc10ee8f04ed91cd3fecffb | |
parent | 8b52edf380143f2b7ac4ffcaa5b4a899ec92c52e [diff] |
remove extra rule, we'll set it in thtpd quart doesn't like dupes...
This service is intended to act as an OIDC-enabled replacement for the current oauth.apache.org service, utilizing keycloak for the auth process but still retaining all the features and simplicity of the existing oauth setup.
The ASF OAuth system provides committers at the Apache Software Foundation with a focal point for services wishing to make use of authentication without security implications around storing sensitive user data. Many Apache services use it as a means of validating that the user requesting access is a committer within a project in the Apache Software Foundation and has lawful access to the systems in question.
The ASF Oauth system is only available to ASF committers, and shares no sensitive data (such as your password) with the service requesting the authentication. The OAuth system offers Apache services the following data when you sign in:
To log in via the system, you must use your LDAP credentials. These are what you would typically use when committing code to Apache's Git or Subversion servers, or accessing private repositories. If you have forgotten your password, you may request a reset via id.apache.org. This version of the ASF OAuth system uses OpenID Connect (via Keycloak) and will enforce two-factor authentication if the user has configured and enabled this for their account.
If you have any questions that this documentation does not answer, get in touch with the Apache Infrastructure Team at: users@infra.apache.org.
How to use the ASF OAuth system for your own service:
https://oauth.apache.org/oauth-oidc?state=$stateID&redirect_uri=$callback
, where:$stateID
is the ID of the state object you created$callback
is a TLS-enabled URL which the OAuth system will redirect to upon successful authentication.code
parameter in the URL's query string. If there are any query string parameters in your callback URL, the code will be appended to the existing URL.https://oauth.apache.org/token-oidc?code=$code
to retrieve the information about the user who just authenticated, in JSON format (see below). You can only retrieve this information once, after which the token becomes invalid; and you MUST complete the request no later than ten minutes after the callback URL was visited.An example user JSON result from our token endpoint could be:
{ "state": "698da7bb-a273-4b6b-a305-e6d757ed979a", "uid": "janedoe", "fullname": "Jane Maria Doe", "email": "janedoe@apache.org", "isMember": false, "isChair": true, "pmcs": ["httpd", "openoffice", "zeppelin"], "projects": ["accumulo", "httpd", "ignite", "openoffice", "zeppelin"] }
For example scripts, see the examples directory in this repository.