465 Star 9.9K Fork 1.5K

GVPdromara/MaxKey

 / 详情

OAuth2 Java客户端集成使用官方sdk请求错误

已完成
创建于  
2025-03-18 16:32

根据官方文档:https://www.maxkey.top/doc/docs/am/sso/oauth2/oauth2_java
使用官方示例:https://github.com/MaxKeyTop/MaxKey-Client-sdk/blob/master/src/test/java/org/maxkey/client/oauth/test/MaxkeyPasswordDemo.java
获取accessToken报405
输入图片说明
获取token的代码

public static void main(String[] args) {
		// TODO Auto-generated method stub

       String accessTokenUrl="http://sso.maxkey.top/sign/authz/oauth/v20/token";
        String clientId = "b32834accb544ea7a9a09dcae4a36403";
        String clientSerect = "E9UO53P3JH52aQAcnLP2FlLv8olKIB7u";

        String callback = "http://oauth.demo.maxkey.top:8080/demo-oauth/oauth20callback.jsp";
        String responseType ="token";
        String approvalprompt = "auto";

        OAuthConfig oauthServiceConfig=new OAuthConfig(clientId,clientSerect,callback);
        MaxkeyPasswordApi20	passwordApi20=new MaxkeyPasswordApi20(accessTokenUrl);
        OAuthPasswordService oAuthPasswordService=new OAuthPasswordService(oauthServiceConfig,passwordApi20);
        Token accessToken = null;
        Response response = null;
        accessToken = oAuthPasswordService.getAccessToken("admin", "maxkey");

	}

跟踪代码发现在org.dromara.maxkey.authn.session.impl.RedisSessionManager的visited方法处报错了
前置条件:
SessionManagerImpl的isRedis参数设置为true
visited方法会先从redis中查询session然后再把session存储到redis,但是从这个接口的整个调用链路中没发现什么时候预先在redis中存储了session
输入图片说明

评论 (2)

生如夏花 创建了任务 1个月前
生如夏花 修改了描述 1个月前
生如夏花 修改了描述 1个月前
展开全部操作日志
5531506 maxkeytop admin 1666757757 MaxKeyTop 拥有者 1个月前

你部署的是那个版本

生如夏花-xu_xi_zhao 生如夏花
回复 MaxKeyTop 拥有者
1个月前

4.1.6,通过修改源码,我的问题已经解决

MaxKeyTop 任务状态待办的 修改为进行中 1个月前
MaxKeyTop 添加了
 
question
标签
1个月前
MaxKeyTop 任务状态进行中 修改为已完成 30天前

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
5531506 maxkeytop admin 1666757757 生如夏花-xu_xi_zhao
Java
1
https://gitee.com/dromara/MaxKey.git
git@gitee.com:dromara/MaxKey.git
dromara
MaxKey
MaxKey

搜索帮助