查看: 2492|回复: 5

服务管理跳转问题

升级   0.06%

88

主题

135

回帖

6

积分

注册会员

Rank: 2

积分
6
发表于 2024-6-4 17:03:24 | 显示全部楼层 |阅读模式
本帖最后由 欢乐树 于 2024-6-5 10:43 编辑

有个问题,我看论坛里面有关于服务管理可以发送企业微信消息的,但是有个问题,发送后我在body里面写了跳转到内容管理某一个页面的url,在企业微信里面点击跳转,就跑到了登录页了。除非之前登录一下才行。有什么办法把token也弄进去?或者怎么拼接一下在不知道用户密码的情况下进行验证登录跳转?

http://xxx/x_desktop/qiyeweixinsso.html?redirect=https://xxxx/x_desktop/app.html?app=cms.Document&status={%22documentId%22:%22" + "a41b9695-68db-4d99-a657-693fbc7859a6" + "%22,%22readonly%22:true,%22autoSave%22:false,%22saveOnClose%22:false,%22appId%22:%22cms.Document" + "a41b9695-68db-4d99-a657-693fbc7859a6" + "%22}

这个地址是我配置的跳转url,但是跳转后说form不存在,我复制了一下链接只剩下https://xxxx/x_desktop/app.html?app=cms.Document,后面的不见了。这种的是不行吗。。
回复

使用道具 举报

升级   100%

1

主题

738

回帖

2447

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2447
发表于 2024-6-5 13:12:04 | 显示全部楼层
消息打开对应的文档页面大概的地址是如下,分两部分讲

第一部分,O2OA 的 url 地址,前面是企业微信 sso 的地址,后面参数redirect跟的是要跳转的地址他们是同目录下的所以不用写前缀直接 app.html 开始:
http://xxx/x_desktop/qiyeweixinsso.html?redirect=app.html?app=cms.Document&status={%22documentId%22:%22a41b9695-68db-4d99-a657-693fbc7859a6%22,%22readonly%22:true,%22autoSave%22:false,%22saveOnClose%22:false,%22appId%22:%22cms.Documenta41b9695-68db-4d99-a657-693fbc7859a6%22}

第二部分,真正的点击消息打开的地址,根据你企业微信应用的参数进行拼接,并把上面的 url 编码后添加到redirect_uri参数里面:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=这里是appid&response_type=code&scope=snsapi_base&agentid=这里是agentid&redirect_uri=上面的地址进行urlencode后的值&#wechat_redirect

大概就是这样的,你参考试试
回复

使用道具 举报

升级   0.06%

88

主题

135

回帖

6

积分

注册会员

Rank: 2

积分
6
发表于 2024-6-5 15:03:19 | 显示全部楼层
本帖最后由 欢乐树 于 2024-6-5 16:59 编辑
飞龙在天 发表于 2024-6-5 13:12
消息打开对应的文档页面大概的地址是如下,分两部分讲

第一部分,O2OA 的 url 地址,前面是企业微信 sso  ...

不行呀拼接了以后直接闪退。日志说ERROR com.x.cms.assemble.control.jaxrs.form.FormAction - id:c3dde745-77e2-4207-8c7f-9c213b50eb9b, name:com.x.cms.assemble.control.jaxrs.form.FormAction, message:标识为:undefined 的 Form 对象不存在., exception:com.x.base.core.project.exception.ExceptionEntityNotExist  
但是我在redirect=后面拼接流程的workmobilewithaction.html%253Fworkid%253D501d73c9-85f0-4ff7-abc5-6b8e17ee3bed&#wechat_redirect 就可以跳转到流程里面
http://xxx/x_desktop/app.html?app=cms.Document好像链接到这就没了
我如果不通过sso验证,直接拼接x-token在第二部分的url跳转链接是可以的
但是我无法获取用户的token..所以这是什么原因呀。拼token可以跳。拼sso跳转闪退,链接后半段就没了。。
回复

使用道具 举报

升级   0.06%

88

主题

135

回帖

6

积分

注册会员

Rank: 2

积分
6
发表于 2024-6-5 15:05:47 | 显示全部楼层
飞龙在天 发表于 2024-6-5 13:12
消息打开对应的文档页面大概的地址是如下,分两部分讲

第一部分,O2OA 的 url 地址,前面是企业微信 sso  ...

https://xxxx/connect/oauth2/authorize?appid=xxxx&response_type=code&scope=snsapi_base&agentid=xxx&redirect_uri=http://xxx/x_desktop/qiyeweixinsso.html?redirect=app.html?app=cms.Document&status=%7B%2522documentId%2522:%2522a41b9695-68db-4d99-a657-693fbc7859a6%2522,%2522readonly%2522:true,%2522autoSave%2522:false,%2522saveOnClose%2522:false,%2522appId%2522:%2522cms.Documenta41b9695-68db-4d99-a657-693fbc7859a6%2522%7D&#wechat_redirect

回复

使用道具 举报

升级   100%

1

主题

738

回帖

2447

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2447
发表于 2024-6-11 10:05:19 | 显示全部楼层
欢乐树 发表于 2024-6-5 15:05
https://xxxx/connect/oauth2/authorize?appid=xxxx&response_type=code&scope=snsapi_base&agentid=xxx& ...

这里稍微有点绕 redirect_uri= 是微信这边 URL 参数 ,qiyeweixinsso.html?redirect= 这个后面的是咱们这边的跳转参数,他是整个 redirect_uri= 参数其中一部分,都要编码,也就是你先要 encode qiyeweixinsso.html?redirect= 这个后面的参数内容,然后再把整个redirect_uri=后面的参数内容再进行 encode 一下。
回复

使用道具 举报

升级   0.06%

88

主题

135

回帖

6

积分

注册会员

Rank: 2

积分
6
发表于 2024-6-11 10:31:00 | 显示全部楼层
飞龙在天 发表于 2024-6-11 10:05
这里稍微有点绕 redirect_uri= 是微信这边 URL 参数 ,qiyeweixinsso.html?redirect= 这个后面的是咱们这 ...

var u1 = encodeURI("app.html?app=cms.Document&status={'documentId':'a41b9695-68db-4d99-a657-693fbc7859a6'}")
var o2url = "http://xxxx/x_desktop/qiyeweixinsso.html?redirect=" + u1

var u2 = encodeURI(o2url)
var url = "xxxx/connect/oauth2/authorize?appid="+"xxxx"
                    +"&response_type=code&scope=snsapi_base"
                    +"&agentid="+"xxxx"
                    +"&redirect_uri="+u2
                    +"&#wechat_redirect" ;


我这样拼对吗,但是返回还是不对。
返回:http://xxx/x_desktop/qiyeweixinsso.html?redirect=app.html?app=cms.Document&code=vhfaFpBgN0gjlpadHaNCidAyp_iYNBBSlKxgjly3lmg&state=  莫名出现了一个code。。status后面又没了

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread