12下一页
发帖
查看: 6621|回复: 11

OAuth2服务端配置问题

升级   79.33%

28

主题

32

回帖

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2022-6-22 15:10:44 | 显示全部楼层 |阅读模式
OAuth2协议作为各应用统一用户登录协议打通了各应用用户登录问题,尝试在O2OA配置:
1、两个O2OA应用间互通
一台作为客户端,一台作为服务端,配置成功一次,但是后续服务端总是报错,提示“anonymous权限不足”,无法对接,也找不到原因,重新安装服务端(win环境)也未能解决,看了一下官网测试系统,也是提示这个错误。



2、继续尝试了casdoor、maxkey、ArkID、keycloak等第三方OAuth2协议服务器应用,没有一个能对接成功的,均返回“无法获取用户凭证, 您可能未绑定“xxx”账号",但是这些服务端单独用postman调试都是能够成功的。

作为国内最优秀的开源OA系统,希望O2OA官方能细化一下OAuth2服务端配置文档,最好对以上优秀开源OAuth2协议服务器给出对接示范(最好官方先测试一下和以上应用对接能否成功),毕竟应用互联生态还是很重要的。一点小小的请求和建议,希望官方采纳!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

0

主题

558

回帖

1942

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1942
发表于 2022-6-23 10:56:05 | 显示全部楼层
两个o2互相认证,只要保证系统管理员的密码是一样的,且在同域下就能互相认证,o2是前后端分离的,认证类似jwt模式。
如果用oauth,那服务端必须先登录,客户端才能基于oauth认证登录
回复

使用道具 举报

升级   79.33%

28

主题

32

回帖

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2022-6-23 10:58:20 | 显示全部楼层
启蒙星 发表于 2022-6-23 10:51
同样都是o2系统,只要两个系统的同域下就能互相访问,o2是前后端分离的,认证类似于jwt模式。如果要用oauth ...

我两个OA系统一个是域名访问,一个是内网ip,理论上不能的,而且用户名不一样,密码不一样,我服务端是取的手机号作为登录字段登陆的,目前问题是anonymous权限不足这个问题怎么解决?还有就是o2oa的OAuth2客户端是否能兼容其他标准OAuth2服务端,在现有的代码上是否能实现第三方OAuth2服务器授权登录
回复

使用道具 举报

升级   100%

0

主题

558

回帖

1942

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1942
发表于 2022-6-24 10:53:24 | 显示全部楼层
OAuth2规范是统一,只是接口参数可能有多少,但这个不影响,至少我们到现在还没有碰到不兼容的情况,OAuth2第一次交互是访问服务端页面获得code,这个时候要求服务端已登录(你的anonymous报错应该是服务端没有登录吧),如还有问题可以看下源码了解平台的oauth的认证过程
回复

使用道具 举报

升级   79.33%

28

主题

32

回帖

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2022-6-24 11:09:55 | 显示全部楼层
启蒙星 发表于 2022-6-24 10:53
OAuth2规范是统一,只是接口参数可能有多少,但这个不影响,至少我们到现在还没有碰到不兼容的情况,OAuth2 ...

anonymous报错是两个O2OA系统测试,客户端请求登录服务端后台就报权限不足了,根本没有出现登录界面,但是我有一次配置的时候出现登陆界面的,只要出现界面账号登陆后就能成功完成sso过程,但是修改参数后就出现权限问题不能弹出登录界面le,然后将参数修改回原来的,后台还是出错,不知何故。

casdoor、keycloak以及ArkID一账通其他三个OAuth服务器对接o2oa都没有成功,均返回”无法获取用户凭证, 您可能未绑定“XXX”账号“,但是我搭建的wordpress博客系统均能和三个平台对接成功,非常困惑,不知道哪个环节出错了。

o2oa客户端配置如下:
1、请求密钥方法参数(GET)
redirect_uri={$redirect_uri}&response_type=code&client_id={$clientId}&scope=email&state=STATE

2、请求令牌方法参数(POST)
code={$code}&client_id={$clientId}&client_sceret={$clientSecret}&redirect_uri={$redirect_uri}&grant_type=authorization_code

3、请求信息方法参数(GET)
access_token={$access_token}

4、info信息中用于标识个人的字段
email

5、infoScriptText


可以的话您能否联系我在线指导一下,后期对接成功我来写一篇教程分享在社区,我的QQ:2-3-8-7-8-6-8-1
回复

使用道具 举报

升级   100%

0

主题

558

回帖

1942

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1942
发表于 2022-6-27 10:45:47 | 显示全部楼层
两个o2oa分别作为客户端和服务端的配置截图看下,另外公司规定不能私下加qq或微信(抱歉)
回复

使用道具 举报

升级   79.33%

28

主题

32

回帖

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2022-6-27 12:08:28 | 显示全部楼层
启蒙星 发表于 2022-6-27 10:45
两个o2oa分别作为客户端和服务端的配置截图看下,另外公司规定不能私下加qq或微信(抱歉) ...

以下为两个o2oa分别作为客户端和服务端的配置截图


客户端配置:
ClientId:o2oa
access_token:o2oao2oa
请求密钥网址:http://192.168.0.118/x_desktop/oauth2.html
请求密钥方法参数:redirect_uri={$redirect_uri}&response_type=code&client_id={$clientId}
请求密钥方法:GET

请求令牌网址:http://192.168.0.118:20020/x_org ... n/jaxrs/oauth/token
请求令牌方法参数:code={$code}&client_id={$clientId}&client_sceret={$clientSecret}&redirect_uri={$redirect_uri}&grant_type=authorization_code

请求令牌方法:POST
token信息格式:json

请求信息网址:http://192.168.0.118:20020/x_org ... on/jaxrs/oauth/info
请求信息方法参数:access_token={$access_token}&client_id={$clientId}
请求信息方法:GET


————————————————————————————————————————




服务端配置,ip:192.168.0.118

——————————————————————————————————————

点击登录界面sso图标后出错

{
  "type": "error",
  "message": "用户:anonymous 权限不足.",
  "date": "2022-06-27 11:56:08",
  "spent": 31,
  "size": -1,
  "count": 0,
  "position": 0,
  "prompt": "com.x.base.core.project.exception.ExceptionAccessDenied"
}




后台报错信息






——————————————————————————————————————
o2oa作为客户端,使用第三方OAuth服务端,大概配置同上面,但是每次弹出第三方服务端认证登陆界面输入用户名和密码后均返回”无法获取用户凭证, 您可能未绑定“XXX”账号“,其中XXX为客户端设置的应用名称。

有劳官方搭建环境测试一下,如果需要第三方OAUth2服务器配置信息和管理账号,请回复,感谢官方管理员大大耐心回复!O2OA棒棒哒!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

0

主题

558

回帖

1942

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1942
发表于 2022-6-28 11:22:53 | 显示全部楼层
搭了一个oauth测试服务http://doc.o2oa.net (用户名:演示用户一,密码:o2),客户度配置参考图示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   79.33%

28

主题

32

回帖

438

积分

中级会员

Rank: 3Rank: 3

积分
438
发表于 2022-6-30 17:14:24 | 显示全部楼层
启蒙星 发表于 2022-6-28 11:22
搭了一个oauth测试服务http://doc.o2oa.net (用户名:演示用户一,密码:o2),客户度配置参考图示 ...

用了最新的7.1.3版本作为服务端测试成功,但是对接keycloak、casdoor等第三方标准OAuth2服务端还是不成功,但是用wordpress、nextcloud等系统对接以上服务端又全部成功,Postman调试也均可返回用户信息(uesrname、email等json字段),现在怀疑O2OA的OAuth2客户端代码有问题(初步估计是clientSecret没有按照最新OAuth2标准进行加密处理,因为keyclaok后台事件返回"invalid_client_credentials"错误提示,还是有劳官方严格测试一下O2OA与第三方OAuth2客户端对接的可行性。
我也提供一下我的测试环境:

——————————————————keycloak配置——————————————————————
keycloak测试环境地址:http://61.177.138.119:8011
keycloak管理员账号:admin
keycloak管理员密码:admin
keycloak测试用户账号:13915238436
keycloak测试用户密码:O2O2O2

keycloak_jyjy_o2oa接口配置:
————————————
ClientId:o2oa
clientSecret:A5oPNcOtVM9KgkrwrheZvZuAS3bcOTpT
authorization-uri: http://61.177.138.119:8011/auth/ ... openid-connect/auth
token-uri: http://61.177.138.119:8011/auth/ ... penid-connect/token
user-info-uri: http://61.177.138.119:8011/auth/ ... id-connect/userinfo

——————————————————O2OA配置——————————————————————
O2OA测试环境地址:http://61.177.138.119/
O2OA管理员账号:xadmin
keycloak管理员密码:o2
O2OA测试用户账号:13915238436
keycloak测试用户密码:238436



回复

使用道具 举报

升级   100%

0

主题

558

回帖

1942

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1942
发表于 2022-7-1 13:52:23 | 显示全部楼层
o2作为客户端对服务端参数配置可能有影响,试试这样的配置:
请求密钥方法参数:
client_id={$clientId}&redirect_uri={$redirect_uri}&response_type=code

请求令牌方法参数:
client_id={$clientId}&client_secret={$clientSecret}&redirect_uri={$redirectUri}&grant_type=authorization_code&code={$code}
回复

使用道具 举报

12下一页
发帖

发表回复

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

本版积分规则

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