我正在实施授权码流量+ JWT 。
我想知道是否以及如何在流程的授权阶段中添加其他自定义参数。
基本上,我希望做到以下几点:
/oauth/authorize
端点时,我想这样做
在获取网址 http://.../oauth/authorize?... customParameter = [VALUE]这样 VALUE是动态的
这可能吗?我该如何实施?
答案 0 :(得分:0)
我的想法是在 createAuthorizationRequest 方法的 AuthorizationRequestFactory 中的 AuthorizationRequest 期间添加您的参数,如here:
@Override
public AuthorizationRequest createAuthorizationRequest(Map<String, String> authorizationParameters) {
//here
authorizationParameters.put("your", "parameter");
//
AuthorizationRequest request = super.createAuthorizationRequest(authorizationParameters);
if (securityContextAccessor.isUser()) {
request.setAuthorities(securityContextAccessor.getAuthorities());
}
return request;
}
您可以在自定义OAuth2RequestFactory中填充请求并注入请求或会话并检索它
答案 1 :(得分:0)
传递的自定义参数也将存储在 HttpSession 中。
下面是检索它们的示例代码。
celery worker -A app.celery -l info