1广东省网上办事大厅统一身份认证平台对接规范V101文档格式.docx
- 文档编号:20534286
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:15
- 大小:155.05KB
1广东省网上办事大厅统一身份认证平台对接规范V101文档格式.docx
《1广东省网上办事大厅统一身份认证平台对接规范V101文档格式.docx》由会员分享,可在线阅读,更多相关《1广东省网上办事大厅统一身份认证平台对接规范V101文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
3、在业务系统数据库中增加关联字段,用于建立与省统一身份认证平台用户的关联关系;
三.1.3.任务分工
●省统一身份认证平台系统集成商:
1.提供单点登录组件及其相应的集成操作文档;
2.协助业务系统开发商调用省统一身份认证平台统一认证服务,配合联调测试,实现安全认证登录;
●业务系统开发商:
1.业务系统开发商需要调用省统一身份认证平台的单点登录组件,修改数据库,实现单点登录服务。
三.2.OAuth2认证
三.2.1.系统结构
用户直接访问业务系统,之后选择以省统一身份认证平台作为第三方信任源登录,认证后返回至该系统,系统结构图如下:
如上图所示,用户在业务系统登录页面,选择省统一身份认证平台作为第三方信任源登录,业务系统登录页面、后台程序需要进行改造,实现接受省统一身份认证平台作为第三方信任源的OAuth2认证,实现用户认证信息共享。
三.2.2.集成模式
采用业务系统登录页面选择省统一身份认证平台或第三方信任源认证方式来进行用户认证,其实施步骤如下:
1.在业务系统登录页面加入省统一身份认证平台认证链接,调用省统一身份认证平台OAuth2认证接口,实现用户身份认证;
2.省统一身份认证平台提供OAuth2认证接口,供业务系统调用,实现用户身份认证信息的安全传输;
3.省统一身份认证平台和其它第三方信任源之间实现OAuth2认证,调用第三方信任源的OAuth2认证接口,实现第三方信任源的用户共享。
三.2.3.任务分工
1.提供OAuth2认证接口及其相应的集成操作文档;
2.协助业务系统开发商调用OAuth2认证接口认证服务,实现OAuth2认证;
3.调用其它第三方信任源Oauth2认证接口,实现省统一身份认证平台与其它第三方信任源间的OAuth2认证。
1.需要调用统一身份认证平台OAuth2认证接口认证服务,实现OAuth2认证;
2.增加用户数据库字段,标明认证来源、认证标识号等参数。
三.3.CA认证
由省数字证书交叉认证平台、市级交叉认证平台提供多家CA数字证书认证服务,并作为第三方信任源接入到省统一身份认证平台,由省统一身份认证平台统一为各业务系统提供多CA认证服务,其具体实现方案可参考上一章节的OAuth2.0认证。
四、应用程序改造说明
四.1.单点登录集成
用户在省统一身份认证平台完成登录认证之后,可以直接进入业务系统办理相应的业务事项,实现“一点登录,多点漫游”的目标。
具体流程如下图所示:
1、确定业务系统单点登录入口页面;
2、业务系统应用服务器上部署安全组件和票据解析组件;
3、在系统中增加票据接收页面;
4、修改票据接收页面,在票据解析成功后跳转到系统的主页;
5、解析成功后取用户唯一标识UID字段,同存储在数据库中的用户身份信息进行比对;
如首次登录,可建立关联关系。
四.2.OAuth2认证集成
用户通过省直部门、地市分厅系统页面,选择以省统一身份认证平台进行认证,具体流程如下图:
1、在业务系统登录页面增加省统一身份认证平台入口;
2、在应用服务器上部署OAuth2认证组件;
3、在业务系统中调用用户信息获取接口;
4、接受信息成功后,跳转到业务系统页面;
6、从用户信息中取用户唯一标识UID字段,同存储在数据库中的用户身份信息进行比对;
如没有,则创建新用户,如已经存在,则直接登录进入系统。
四.3.用户库改造说明
业务系统实现对接功能,除调用单点登录及OAuth2认证组件实现认证改造外,还需要实现省统一身份认证平台用户信息与业务系统现有用户信息之间的关联,相应用户数据库的表结构需要相应调整,如下图:
为建立关联关系,需要增加用户数据库的字段,主要包括:
1、用户认证来源:
该项内容用于描述用户信息的来源,通过该项内容可以判断用户信息是从哪个数据源获取;
长度为100个字节;
2、用户认证方式;
该项内容用于描述用户当前凭证类型为证书还是用户名口令,从而在用户登录时,采用正确的认证方式;
长度为40个字节;
3、是否实名:
该项内容用于描述用户是否通过了实名认证,通过该项内容可以给用户展现不同的业务数据内容。
长度为20个字节;
4、用户信息唯一标识UID:
该项内容用于描述用户信息的唯一标识号,每一个标识号代表一个独立的用户。
长度为32个字节。
五、改造环节及示例代码说明
五.1.单点登录改造说明
五.1.1.详细流程
流程描述如下:
1、用户访问省统一身份认证平台,并输入身份认证凭证;
2、省统一身份认证平台对用户身份进行登录凭证验证;
3、由省统一身份认证平台对用户进行身份认证后,返回用户token;
4、用户选择需要业务系统;
5、省统一身份认证平台将用户token、随机数及签名形成单点登录票据,并发送给业务系统;
6、业务系统接收省统一身份认证平台单点登录票据,并对票据进行解析,获取随机数和Token,并对随机数进行签名处理;
7、业务系统将相应的随机数签名值和Token提交给省统一身份认证平台;
8、省统一身份认证平台验证用户token及随机数,获取用户UID;
9、省统一身份认证平台将用户信息(含UID等)返回给接入业务系统;
10、根据用户UID,业务系统判断用户是否有权限登录,验证通过后,用户成功登录进入业务系统。
五.1.2.组件调用说明
需要在业务系统中引入BJCA-UAMS-SDK-1.0.jar,根据相应的API接口说明,调用jar包相应方法实现用户信息的获取。
五.1.3.示例代码说明
业务系统验证token后,用token得到userIdCode,用于用户权限判断,代码示意如下:
clientResponse=clientResource.path("
identity"
).path("
attributes"
).queryParam("
subjectid"
URLEncoder.encode(tokenId,"
utf-8"
)).queryParam("
attributenames"
"
useridcode"
).header("
Content-Type"
application/json;
charset=UTF-8"
).get(ClientResponse.class);
if(clientResponse.getStatus()!
=200){//判断返回结果,200为成功
request.setAttribute("
error"
获取userIdCode失败!
"
);
request.getRequestDispatcher("
../success.jsp"
).forward(request,response);
return;
}
StringresultTemp=clientResponse.getEntity(String.class);
String[]result=resultTemp.split("
\r\n"
HashMap<
String,String>
resultMap=newHashMap<
();
for(inti=0;
i<
result.length;
i++){if(result[i]!
=null&
&
result[i].contains("
userdetails.attribute.name"
)||result[i].contains("
userdetails.attribute.value"
))){
if(result[i].contains("
)){resultMap.put(result[i].substring("
userdetails.attribute.name="
.length()),result[i+1].substring("
userdetails.attribute.value="
.length()));
}}}
userIdCode"
resultMap.get("
));
五.2.OAuth2认证改造说明
五.2.1.详细流程
用户首次直接访问业务系统,使用省统一身份认证平台账户作为第三方信任源进行登录认证流程如下:
1.用户访问接入业务系统办理相关服务事项;
2.业务系统提示用户选择账户认证方式,用户账户认证方式包括业务系统本地用户登录、第三方信任源(市级认证平台、省直部门账号系统等)用户登录;
3.用户选择省统一身份认证平台账号登录;
4.省统一身份认证平台提供用户登录界面,并对用户进行身份认证;
5.省统一身份认证平台将用户身份认证结果返回给业务系统;
6.业务系统接收用户登录状态,并判断用户是否为首次访问业务系统,若用户为首次访问,则需要用户进行应用授权;
7.业务系统请求用户进行认证账号绑定;
8.用户进行授权确认,允许业务系统使用省统一身份认证平台账号;
9.省统一身份认证平台向业务系统同步用户的基本信息资料;
10.用户登录成功,业务系统创建用户本地账户,并根据业务需求,可要求用户补充相关材料;
11.用户补充相关材料后,即可登录进入业务系统,并办理相关服务事项。
五.2.2.登录页面改造说明
业务系统需修改登录页面,增加“省统一省份认证平台认证”按钮,后台配置省统一身份认证平台OAuth2认证接口。
五.2.3.组件调用说明
需要在业务系统中引入相应的jar包至项目工程内,根据相应的API接口说明,调用jar包相应方法实现用户授权及用户信息的获取。
六、接口及参数说明
六.1.单点登录接口说明
用户通过url获得省网办大厅用户的tokenid及随机数,调用验证随机数接口对随机数进行验证,并获取用户uid及用户的所有信息。
单点登录接口主要提供如下功能:
验证随机数及tokenid的有效性、获取用户相关信息。
六.1.1.设置认证服务URL
服务名称
MapsetServerUrl(StringServerUrl)
服务说明
设置服务器URL,调用一次即可
参数列表
参数名称
参数说明
ServerUrl
服务器URL
返回值
Map
Key:
status(错误码)
message(错误信息)}
备注
返回值说明:
0--成功
101--服务器URL不能为空!
105--服务器URL未知错误,检查服务器URL!
六.1.2.获取用户信息
MapgetAllUserAttributes(StringtokenId,Stringrandom)
获取所有用户属性
tokenId
登录后会话的Token
random
使用generateRandom函数返回的随机数
message(错误信息)
idcardnumber(证件号码)
useridcode(用户身份唯一标识码)
cn(用户姓名)
uid(用户的登录标识,值为用户登录名或证书唯一标识)
mail(邮件地址)
telephonenumber(电话号码)
credenceclass(用户本次登录时使用的凭证类型,Credence_001表示使用证书登录,Credence_002表示使用密码登录)
inetuserstatus(用户状态。
Active表示状态正常,InActive表示状态非法(停用或注销))
extproperties(扩展属性。
扩展属性内部以map的方式保存值,如果是多值,用逗号分隔。
举例如下:
如果扩展属性的英文名是testExt,则通过map.get(“extproperties”).get(“testExt”)获取)
passwordmodifieddate(密码修改日期)
usermodpwdflag(用户修改密码标志。
0表示默认密码需要修改;
1表示已经修改默认密码)
createtime(创建时间)
错误码:
101--随机数已失效!
102--验证Token失败!
103--获取用户信息失败!
104--系统内部错误!
106--参数编码错误
107--服务连接错误!
108--用户认证失败!
109--用户状态异常!
110--请求地址不存在!
使用此接口前需至少调用一次setServerUrl接口设置服务端URL
六.2.OAuth2认证接口说明
六.2.1.获取授权码
接口功能
获得授权码
url
https:
//serverurl/oauth2/authorize
参数
client_id:
应用向am预先申请的client_id
scope:
app向am请求的属性,可以根据具体情况增加或者减少,中间用空格分割(URL编码后是加号)。
redirect_uri:
认证完成并且用户对app授权后返回的地址,此地址可以得到grant_code授权码。
response_type固定为code
grant_code:
授权码。
获取方式,例如request.getParameter("
code"
)
http请求方式
GET
六.2.2.获取token
通过授权码获得访问token
//serverurl/oauth2/access_token
client_secret:
应用向am预先申请的密钥
code:
授权码
grant_type固定为authorization_code
access_token:
expires_in:
有效期,单位是秒
token_type:
获得的Token类型,Bearer
例如:
{"
expires_in"
:
59,"
token_type"
Bearer"
"
access_token"
17120008-13ff-40fa-b573-7fcd3e638f25"
}
六.2.3.获取用户信息
通过访问token获得用户信息
//serverurl/oauth2/tokeninfo
访问token
其他都是用户信息,例如"
mail"
demo123@"
uid"
demo123"
scope"
["
cn"
telephoneNumber"
uamsDepts"
uniqueId"
],"
realm"
/"
1388888888"
123"
882b5b8c-30b2-467c-90c7-fb0492545aab"
demo1234"
格式
JSON
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广东省 网上 办事 大厅 统一 身份 认证 平台 对接 规范 V101