Closed kysrpex closed 4 months ago
From the OP point of view, the authentication method for the token endpoint should be configurable and the refresh token grant should respect that setting. Specifically for the LS AAI (previously known as ELIXIR AAI), there are three types of authentication for the token endpoint:
Authorization: Basic client_id:client_secret
header)client_id: XYZ
and client_secret: XYZ
parameters in the POST request body)This method of authentication is specified in the metadata when registering the service.
So now to some more details. I think base classes support this already, it just needs some tweaks:
Proposed changes
Refreshing Elixir AAI tokens fails with error
An error occurred when refreshing user token: 401 Client Error: 401 for url: https://login.elixir-czech.org/oidc/token
. The source of the HTTP 401 error is a malformed request. Closes #826, read the issue for details.Types of changes
Please check the type of change your PR introduces:
Checklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.Other information
At the moment I just want to highlight the source of the problem and the solution, the patch is not properly integrated within the codebase, that's why the PR is a draft. For example, it is probably better to patch
social_core.backends.oauth:BaseOAuth2.refresh_token
.