•  
     
    story #14542 have OAuth2 flow
Summary
Empty
have OAuth2 flow
Empty

See epics acceeptance criteria.

The whole thing is a "all or thing" story, here it corresponds to implementation of the OAuth2 protocol flow.

Empty
Empty
Status
Empty
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Empty
Details
#14542
Manuel Vacelet (vaceletm)
2020-03-27 15:33
2020-02-11 16:43
15889

References
Referencing story #14542

Git commit

tuleap/tuleap/stable

Extract scope notions from the access key implementation a5d8d7b609
Use native typehints in the Tuleap\Authentication\SplitToken namespace 43bc7b51e8
Protect a test resource with an OAuth2 access token 976a0efcc0
OAuth2 access tokens are retrieved from the database to be verified f9e1acd493
Set the WWW-Authenticate header when the access to an OAuth2 protected resource is denied 57f2131eae
OAuth2 access token are associated with scopes 6899cc6776
OAuth2 access tokens can be used to query the REST API 9764d635c3
OAuth2 access token have an expiration date 45a9c5f4e7
REST authentication flow should log the rejections a5bd83f7a2
Create the base architecture to create an OAuth2 access token from an authorization code cb1845714c
Clear all OAuth2 access tokens and associated scopes when the OAuth2 server plugin is uninstalled 7116ec2b1f
Cannot get an OAuth2 access token from an authorization code without TLS 40c6d08516
Reject requests to grant an OAuth2 access token with a not supported grant type b8bf5e21cb
Explicitely disable caching on the endpoint creating OAuth2 access tokens 7abe26fbb6
The authorization page should not be cached or accessed without TLS 5664794783
Move the logic to parse an Authorization header with the Basic scheme outside the prometheus_metrics plugin 506b643892
Authenticate app accessing the token endpoint d447c0b880
Be consistent in the endpoint URLs of the authorization server 58460b316d
Verify an hardcoded authorization code when creating an access token f17076d72e
Accesses to the OAuth2 server should be visible by the instrumentation 19a09bc63e
Validate redirect_uri parameter when issuing an access token c339a577aa
Move code related to the authorization code when granting an access token into a subnamespace 2364beda8e
An authorization code is generated each time the user approve the requested permissions 080ee89511
Mark the authorization codes that has already been used 3f59dbb8f9
Associate the delivered access tokens with their authorized grant 594c16764c
Revoke authorization code and the associated access tokens if they are reused e3d3dd4cdf
Authorization code of not active project cannot be used 66dcc86fec
Move OAuth2 access tokens table in the oauth2_server plugin 5cae067f79
Access tokens associated to an app in a not active project cannot be used de71c0473c
Remove plugin_oauth2_authorization_code_access_token table (for real this time) e1ba5265b8
Save scopes requested for each authorization 795b6e4293
Access tokens have the scopes requested at the authorization 8902b25fc6
Project admin can choose if the usage of PKCE [0] is mandatory or not when creating a new OAuth2 app 5c90773ab3
PKCE code challenge is extracted from the authorization request and saved ffd4a60755
Validate PKCE code verifier when delivering the access token in exchange of the authorization code 608986d544
Create and save refresh token 4e42ec0b07
Revoke access tokens via a revocation endpoint 1ff36f63bb
Extract from the access token controller the section relative to the auth code 336cfaa1c9
Mutualize retrieval and saving of scope association with token|code 13cb8feb77
Remove duplicate for the list of scopes given for the authorization request bf780ebebb
Revoke refresh tokens via revocation endpoint 05c34a2eee
Cannot create an OAuth2 app that does not force the usage of PKCE 67a322e4a0
Refresh token can be used to get a fresh access token 3a3d6a0828
Glossify OAuth2 pages fc3c7de9cb
Remove user preferences variants d36d7bb701
An access token can be refreshed with a reduced set of scopes bda090fa6d
Daily cleanup of the expired auth code, refresh and access tokens 0e7947ddbb
Remove OAuth2 test endpoint ae0e449bab
Add missing index on the plugin_oauth2_server_app table 56d839e245
Fix info level Psalm issues in the OAuth2 Server plugin d3ef19906b
Cleanup data when a project is deleted 1dfc90e4cb
Move the declaration of the REST endpoint GET /projects/:id/trackers in the tracker plugin d6e55e4e3f
Add a read only OAuth2 scope to access tracker information 4c4f09a521

Follow-ups

User avatar
Joris MASSON (jmasson)2020-02-14 10:00
gerrit #17787 integrated into Tuleap 11.11.99.64

  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes