api对接设计说明_第1页
api对接设计说明_第2页
api对接设计说明_第3页
api对接设计说明_第4页
api对接设计说明_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXXAPI接口设计说明一、文档管理信息表主题XXXapi接口设计说明版本内容关键字参考文档创建时间创建人最新发布时间二、要完成的功能单点登录服务功能三。、单点登录概述说明1、IDaaS发起用户登录IDaaS平台,从IDaaS登录到SP应用场景,如下图所示:(1) 用户访问IDaaS登录页面输入用户名和密码进行登录(2) 浏览器携带用户名密码向IDaaS请求登录(3) IDaaS认证通过后,创建主session,并返回应用列表给浏览器(4) IDaaS登录成功,用户可以看到IDaaS展示的应用列表(5) 用户点击应用列表中的SP1应用图标(6) 浏览器携带SP1应用的应用id,向IDaaS请求生成SP1应用子token(7) IDaaS根据信息生成子token并返回给浏览器(8) 浏览器携带子token,向SP1请求登录(9) SP1应用系统解析获取的子token,验证通过后,创建子session并返回登录后页面(10) SP1系统单点登录成功,浏览器显示SP1系统登录后页面(11) ~(16)表示SP2系统的单点登录流程,与SP1系统步骤一致,即在主session创建后,任何一个可单点登录应用进行单点登录的流程只需重复(5)~(10)即可/2、SP发起SP发起主要应用于SSO后可以跳回发起SSO的应用页面。下面以SAML和JWT的实现为例来阐述SP发起的单点登录流程。访问应用页面用户到SP应用页面,会在SP通过Redirect或POST提交一个某种认证协议如SAML/CAS的挑战请求,在IDaaS登录后,再跳转回SP作为应答,实现统一认证,如下图所示:"b谓家页函<1:4>堀向重立阿埔峥」°珀Z诅诟噌李I4辨生底"b谓家页函<1:4>堀向重立阿埔峥」°珀Z诅诟噌李I4辨生底MMLUifiXg:FKMZtaHi四*!550URLI <11I堵|更毒翳%kMLftfc嶂_店何M" 1(12) 证版恒正H<-谢,董定向it*.村刮4*」 (L40诸审叩由原第两 *< fg)童国商毒虫曲———K•(1&Jai值a宙,页函『 <6)携曰dimW蜀面Bi4h:i址*毒*[引角断甄ML谢飘浙有蜀谖.井定———— (10)着响际除杖ServicePruvidertSP^以SAML协议SP发起的单点登录为例:(1)用户访问SP资源页面浏览器向SP请求资源SP生成SAMLAuthnRequest请求,其中包含当前URL至URelayState,并返回给浏览器浏览器携带SAMLAuthnRequest请求,访问定义好的IDaaS中SP发起的SSOURLIDaaS验证SAMLAuthnRequest,若该用户已登录直接跳至步骤(9),否则继续步骤(6)重定向到IDaaS登录页面用户输入IDaaS的账户和密码浏览器携带账号密码请求登录IDaaS登录IDaaS后,IDaaS分析SAMLAuthnRequest中的SP应用信息,并获取更多用户信息,然后组合生成响应包含RelayState的SAMLResponseToken。返回SAMLResponseToken数据给浏览器浏览器进行跳转,携带SAMLResponseToken,访问SPACSURLSP利用公钥验证SAMLResponseToken校验成功后,创建session会话,从RelayState中取出开始时发起的URL,返回给浏览器浏览器访问资源页面(15)SP返回资源页面(16)用户登录进SP资源页面3、接口后置SP登录时使用IDaaS进行接口后置认证登录场景,如下图所示:

卜 (4)春:舛5P】鼻或虫■卜 (4)春:舛5P】鼻或虫■ r U)ha.ia自古明由 *-(]L)危七野】说HI的幡 ►■〔技)户”时可刊奇史后勇囱炽皆用卸*一——-<2)谱中连鼠如1B SP始时Wl胃是'骨一———C14^的骨T口虹n.关注地寸(1)用户访问SP1登录页面(2)浏览器请求SP1登录页面SP1返回其登录页面用户看到SP1登录页面用户输入用户名密码进行登录浏览器携带用户名、密码向SP1发起登录请求SP1使用IDaaS接口进行认证,将用户名、密码传递给IDaaS进行认证登录IDaaS进行认证后,生成主token,并返回主token和应用列表以及用户信息给SP1登录SP1成功,浏览器获取到SP1登录后页面用户可看到SP1登录后页面,可看到显示的应用列表用户在SP1显示的应用列表中点击SP2应用图标进行单点登录浏览器携带主token和应用id,向IDaaS请求生成子tokenIDaaS返回SP2的子token以及SP2重定向地址浏览器携带子token访问SP2重定向地址SP2解析子token,验证成功,并返回SP2登录后页面(16)用户看到SP2登录后页面,SP2应用系统登录成功

四、api接口说明api参数配置appId:客户唯一标识符,由考试星提供,例如:14343(手机号等)。appKey:用于加密jwt,由考试星提供,例如:xf5ha3h67h4Ger34wh35p345h4。api统一接口地址地址:https://www.xxxxxxxxxxxxxxxxjwtInfo:jwt_info是用户根据jwt规范,用app_key将过期时间、action_id加密,生成的加密字符串生成加密jwtInfo(java示例)⑴.安装依赖<dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.7.0</version></dependency>.生成加密字符串生成jwtInfo加密字符串importio,jsonwebtoken,Jwts;StringappKey="xf5ha3h67h4Ger34wh35p345h4”StringjwtInfo=Jwts.builder(),claim("exp”,System.currentTimeMillis()+1000*10),claim("action_id”,"201"),signWith(SignatureAlgorithm.HS256,app_key.getBytes("UTF-8")).compact();.加密参数解释appKey:加密的私钥,由考试星提供。exp:过期时间。action_id:表示登录考试星动作(注意是下划线)。

action_id参数解释不同的action_id代表不同的请求行为,目前开放的请求行为如下:请求行为编码请求行为解释201学生登录202修改学生信息当前开放的请求接口(1)考生登录请求接口:地址:https://www.xxxxxxxxxxxxxxxx请求方法:post请求参数:参数编号参数名称参数值示例参数描述1user_id15635学生唯标识(可以是字符数字混合,只需要保证唯)2user_name张三学生姓名3passworde120ea280aa50693d5568d0071456460学生密码(经MD5加密)4rolestaff固定为staff5department总部/财务部学生所属学校,如果有分级,请以半角左斜杠分割(action_id=201生成jwt加密字符串)返回结果:("msg":"success","url":"/api/company/redirect/13245/?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9・eyJ1c2VyX2lkIjo1LCJleHAiOjE0OTc5NTMxODguNjg0MTIxLCJhY3Rpb25faWQiOiIyMDEifQ・I3j56t_tVMX1GgH62dy-rIktqFRienFZTJ7VKgc6lPs"}拿到结果后重定向到这个url地址,学生即可登录平台。(action_id=202生成jwt加密字符串)返回结果:五、综述统一的输入输出参数(通用参考,按照平台数据改动)Requst参数名类型是否必填描述LanguageStringYcn:中文,en:央文UidIntY用户IDsidstringYSessonld(TOKEN)(不需要登录就能调用的接口、注册接口、登录接口,uid和sid两个参数不需要输入)Response参数名类型是否必填描述succeedIntY0:失败,1:成功error_codeIntN错误码error_descStringN错误消息必须登录才能访问的接口接口名称描述user/signout用户退出user/photoupload照片上传user/changeprofile修改用户资料user/changepassword修改用户密码user/info获取用户信息

错误返回码列表Error_codeError_desc1授权过期500服务器内部错误600账号被锁定10001手机号码不能为空10002密码不能为空10003验证码不能为空10004平台类型不正确10005手机验证码不正确10006手机验证码已失效10007用户类型不正确10008用户名不能为空10009原密码不能为空10010新密码不能为空10011原密码不正确10012经度不能为空10013纬度不能为空10014对象用户ID不能为空用户接口用户注册(usre/signup)接口usre/signup描述用户注册验证Session方法GET/PISTRequest参数名类型是否必填描述MobileIntY注册手机号Verify_codeStringY手机验证码PasswordStringY密码platformStringY平台类型

Response参数名类型是否必填描述SidStringYSessonld(TOKEN)uidIntY用户ID用户登录接口usre/signup描述用户登录验证Session方法GET/PISTRequest参数名类型是否必填描述MobileIntN注册手机号.(type=1时必须)usernameStringN用户名(type=2/3/4时必须)PasswordStringN密码(type=1时必须)PlatformStringY平台类型Response参数名类型是否必填描述SidStr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论