Project

Profile

Help

Story #3163

As a user, I can refresh an unexpired JWT.

Added by dkliban@redhat.com almost 2 years ago. Updated 6 months ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

0%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
No
Sprint Candidate:
Yes
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

Description

django-rest-framework-jwt provides a 'JWT_ALLOW_REFRESH' setting in settings.py. It defaults to False. The server.yaml and settings.py need to be updated to include this setting with the default value.

The REST API endpoint provided by django-rest-framework-jwt for refreshing the token does not support indefinitely refreshing tokens. Pulp needs to support allowing users to refresh unexpired tokens for an indefinite amount of time. As a result, a view for refreshing a JWT needs to be implemented. The view should be exposed at /api/v3/jwt_refresh/. If JWT_ALLOW_REFRESH is True, a POST request with the JWT auth header returns a new JWT with a new expiration date. The response should look like the following:

{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNTAyMzgzMDExfQ.3ZpcclxV6hN8ui2HUbwXLJsHl2lhesiCPeDVV2GIbJg" 
}

If JWT_ALLOW_REFRESH is set to False, a POST to the endpoint should return a 401 with a message stating the the JWT refresh is not allowed.

Documentation for the REST API needs to be updated with info on refreshing a JWT.

A new Usage section needs to be added to be used by Pulp Admins. These settings need to be documented there.


Checklist


Related issues

Related to Pulp - Issue #3164: Requesting a JWT token doesn't support basic auth CLOSED - WONTFIX Actions

History

#1 Updated by bmbouter almost 2 years ago

I expected that JWT renewal would not have a 7 day limit, but instead it could renew forever when JWT_ALLOW_REFRESH=True. I also thought that only the JWT_ALLOW_REFRESH would be in the settings.py and the JWT_REFRESH_EXPIRATION_DELTA would not be.

#2 Updated by dkliban@redhat.com almost 2 years ago

  • Description updated (diff)

#3 Updated by daviddavis almost 2 years ago

  • Related to Issue #3164: Requesting a JWT token doesn't support basic auth added

#4 Updated by daviddavis almost 2 years ago

  • Status changed from NEW to CLOSED - WONTFIX

JWT got removed from the MVP. Going to revisit again in 3.1+ with new user stories.

#5 Updated by dkliban@redhat.com over 1 year ago

  • Sprint/Milestone set to 3.0

#6 Updated by bmbouter 6 months ago

  • Tags deleted (Pulp 3, Pulp 3 MVP)

Please register to edit this issue

Also available in: Atom PDF