提交 42b3555f 编写于 作者: 智布道's avatar 智布道 👁

🚑 Optimize code

上级 8074abd3
......@@ -15,6 +15,8 @@
*/
package com.fujieid.jap.ids.provider;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import com.fujieid.jap.ids.JapIds;
import com.fujieid.jap.ids.exception.IdsException;
import com.fujieid.jap.ids.model.*;
......@@ -36,6 +38,7 @@ import javax.servlet.http.HttpServletRequest;
* @since 1.0.0
*/
public class IdsTokenProvider {
private static final Log log = LogFactory.get();
private final Oauth2Service oauth2Service;
......@@ -170,30 +173,34 @@ public class IdsTokenProvider {
public IdsResponse<String, Object> generateRefreshTokenResponse(IdsRequestParam param, HttpServletRequest request) {
TokenUtil.validateRefreshToken(param.getRefreshToken());
AccessToken token = TokenUtil.getByRefreshToken(param.getRefreshToken());
ClientDetail clientDetail = null;
try {
AccessToken token = TokenUtil.getByRefreshToken(param.getRefreshToken());
ClientDetail clientDetail = JapIds.getContext().getClientDetailService().getByClientId(token.getClientId());
String requestScope = param.getScope();
clientDetail = JapIds.getContext().getClientDetailService().getByClientId(token.getClientId());
} catch (Exception e) {
log.error(e);
throw new IdsException(ErrorResponse.INVALID_CLIENT);
}
OauthUtil.validClientDetail(clientDetail);
OauthUtil.validateScope(requestScope, clientDetail.getScopes());
OauthUtil.validateGrantType(param.getGrantType(), clientDetail.getGrantTypes(), GrantType.REFRESH_TOKEN);
OauthUtil.validateSecret(param, clientDetail, oauth2Service);
String requestScope = param.getScope();
UserInfo user = JapIds.getContext().getUserService().getById(token.getUserId());
OauthUtil.validClientDetail(clientDetail);
OauthUtil.validateScope(requestScope, clientDetail.getScopes());
OauthUtil.validateGrantType(param.getGrantType(), clientDetail.getGrantTypes(), GrantType.REFRESH_TOKEN);
OauthUtil.validateSecret(param, clientDetail, oauth2Service);
long expiresIn = OauthUtil.getRefreshTokenExpiresIn(clientDetail.getRefreshTokenExpiresIn());
UserInfo user = JapIds.getContext().getUserService().getById(token.getUserId());
AccessToken accessToken = TokenUtil.refreshAccessToken(user, clientDetail, token, param.getNonce(), EndpointUtil.getIssuer(request));
return new IdsResponse<String, Object>()
.add(IdsConsts.ACCESS_TOKEN, accessToken.getAccessToken())
.add(IdsConsts.REFRESH_TOKEN, accessToken.getRefreshToken())
.add(IdsConsts.EXPIRES_IN, expiresIn)
.add(IdsConsts.TOKEN_TYPE, IdsConsts.TOKEN_TYPE_BEARER)
.add(IdsConsts.SCOPE, requestScope);
} catch (Exception e) {
throw new IdsException(ErrorResponse.SERVER_ERROR);
}
long expiresIn = OauthUtil.getRefreshTokenExpiresIn(clientDetail.getRefreshTokenExpiresIn());
AccessToken accessToken = TokenUtil.refreshAccessToken(user, clientDetail, token, param.getNonce(), EndpointUtil.getIssuer(request));
return new IdsResponse<String, Object>()
.add(IdsConsts.ACCESS_TOKEN, accessToken.getAccessToken())
.add(IdsConsts.REFRESH_TOKEN, accessToken.getRefreshToken())
.add(IdsConsts.EXPIRES_IN, expiresIn)
.add(IdsConsts.TOKEN_TYPE, IdsConsts.TOKEN_TYPE_BEARER)
.add(IdsConsts.SCOPE, requestScope);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册