O2OA支持将o2server本身作为OAUTH服务器,也支持将o2server作为客户端接入到其他的OAUTH服务器中。
此例中,我们以O2Server本身作为OAUTH服务器,这也是通常的配置方案,O2Server中有完整的组织人员信息,并且投入协同办公使用。
以管理员身份登录O2OA:
并且打开系统设置:
在OAUTH客户端配置区域添加一个oauth配置:
填写内容如下:
配置内容:
客户号(ClientId):openmeetings
客户密钥:openmeetings
映射(Maaping)
{
login:(return person.getMobile() + '_ys';)
firstname:(return person.getName();)
lastname:(return '';)
email:(return person.getMobile() + '_ys@o2oa.net';)
country:(return 'CN';)
salutation:(return person.getGenderType().toString() == 'm' ? '1':'2';)
}
注意,在配置中,O2OA与openmeetings的登录用户关联信息为mobile,也就是手机号,系统会自动在openmeetings系统内注册手机号加"_ys"的用户名,此处可以根据需求修改。
填写完成后保存,如下图所示。
以管理员身份登录Openmeetings:
点击ADMINISTRATOR - OAUTH:
如下图所示界面:
在右侧OAUTH2 config中填入相应的配置,如下图所示:
重定向URL:https://localhost:5443/openmeetings/oauth/1 这里的1是指配置的编号,这一行不能编辑,在保存时自动生成,需要修改为正确的IP或者域名信息。
修改方法如下:
点击ADMINISTRATOR - 配置信息,查询系统配置
查找配置信息:
修改配置信息后保存。
修改完成之后继续完成单点认证内容配置。
配置内容如下:
名称:O2OA
链接图标:http://172.16.1.48/favicon.ico
_客户id:openmeetings
_客户密码:openmeetings
重定向URL:https://172.16.93.9:5443/openmeetings/oauth/1
请求密钥:http://172.16.1.48/x_desktop/oauth2.html?redirect_uri={$redirect_uri}&response_type=code&client_id={$client_id}
Request token method:POST
请求令牌网址:http://172.16.1.48:20020/x_organization_assemble_authentication/jaxrs/oauth/token
请求令牌属性:code={$code}&client_id={$client_id}&client_sceret={$client_secret}&redirect_uri={$redirect_uri}&grant_type=authorization_code
Request info method:GET
请求信息网址:http://172.16.1.48:20020/x_organization_assemble_authentication/jaxrs/oauth/info?access_token={$access_token}
User mapping:
映射说明:
OM User attribute | OAuth User attribute | 说明 |
firstname | firstname | |
address.email | ||
login | login | 登录账号,对应O2OA配置里的Login,在Openmeetings用户里登录名要能对得上 |
lastname | lastname | |
address.country | country |
打开Openmeetings,我们发现在登录界面多了一个O2OA的认证组件,如下图所示:
点击之后,会跳转到O2OA登录页面:
使用O2OA内注册的人员登录后,会再次跳转回到openmeetings系统内,并且完成用户的注册(请不要使用xadmin用户登录 ,没有手机号码,单点不会成功。)
至此,单点认证配置完成。