皖政通统一身份认证平台 单点登录对接规范
1.前言
此文档为统一身份认证平台作为皖政通项目权威的主数据中心及统一的认证入口,便于其他应用系统使用统一身份认证平台进行身份验证及单点登录集成的规范阐述.
2.术语解释
2.1.统一身份认证
统一身份认证软件是专注于身份管理与访问控制的系统,主要提供覆盖安徽省政务权威的组织架构服务、政务人员信息服务及访问政务应用系统的认证服务.
相关术语:
术语 英文描述 术语说明 简称统一身份 实现各目标应用系统的账号信息统一供应、Indentity and认证管理 Management Access 统一存储、统一管理和统一认证及审计管理 IAM平台 等功能.统一身份 Bamboocloud Identity 统一身份管理平台Management BIM目标应用 Target System 接入统一身份认证管理平台的目标业务应 应用
用,通过接入实现账号的集中创建与删除,系统 并在此基础上实现统一认证.在IAM系统组与内部人员(自然人)一一统一用户 用户User 对应的IT标识,用于人员访问信息系统的统一账号:应用账号 目标应用系统内部使用的账号,用于用户应Account 用系统,并在系统中完成相关业务操作 账号目标账号
2.2.OAuth2.0认证协议
OAuth2.0是行业标准的授权协议.OAuth2.0专注于简化开发人员在为Web应用程序、桌面应用程序以及移动端应用程序提供特定授权时的流程.该规范及其扩展由IETFOAuth工作组开发.
3.OAuth认证接口规范
3.1.授权接口
此接口是通过浏览器重定向跳转方式进行调用,通过调用此接口可以获得一次性授权码.
如果用户已完成过登录,访问此地址则会直接跳转到指定的回调地址,回调地址中包含一次性授权码code.如果请求参数中传入了state,则回调地址中会带上原始的state值.
500
如果用户未登录,访问此地址会跳转至登录页面,显示应用配置的认证方式,用户完成登录后跳转到指定的回调地址,回调地址参数和已登录状态一致.
请求地址 https:/iam.ah.:2443/idp/authCenter/authenticate请求类型 GET参数名 中文说明 描述client_id应用标识 客户端应用注册ID(IAM提供)redirect_uri 应用地址 应用访问地址(URL编码)response_type 响应类型 固定值:codestate 状态值 用于保持请求和回调的状态,在回调请求参数时,会在回调地址中回传该参数.开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置.这个参数可用于防止跨站请求伪造(CSRF)攻击处理逻辑 判断参数:验证client_id是否有效校验redirect_uri,统一认证应用注册中可填写多URL(以”:分隔),判断参数中的URL是否以填写的URL开头(此功能可选
择是否启用)显示认证授权页面.验证身份后页面跳转至redirect_uri并附有参数授权码参数正确登录成功时,会跳转到回调地址,携带参数code和返回值state
3.2.获取令牌
获取令牌接口可以使用一次性授权码换取授权令牌.获得授权令牌的同时还可以得到刷新令牌以及令牌有效期等信息.
接口返回以下信息:
access_token是授权令牌,用于获取用户信息;
expires_in是过期时间,表明授权令牌的有效时长,时长在应用注册时可配置;
refresh_token是刷新令牌,可在授权令牌到期后进行刷新续期;
uid是用户ID.
请求地址 https:/iam.ah.:28081/bam-protocol-service/oauth2/getToken请求类型 POST请求参数 参数名 中文说明 描述client_id 应用标识 客户端应用注册ID(IAM提供)client_secret应用密钥 客户端应用注册密钥(IAM提供)code 授权码 调用授权接口获得的授权码code