面临的问题1:标准不统一
目前企业内安装的大部分系统并不支持OpenId和SAML(Security Assertion Markup Language,安全断言标记语言)标准,使得整合异构系统的登录身份难以自动对接。甚至部分企业尚未实施统一身份的主数据(如LDAP/AD),增大了客户对SSO方案的实施难度。
面临的问题2:API不灵活
一些传统SSO服务提供了基于Web Service的跨域验证API,由于Web Service本身缺乏互操作标准、客户端笨重,加大了各系统开发商集成难度和风险。
清晰简单,提供标准文档、示例。第三方系统无论是哪种语言架构,只要支持HTTP协议,只需在原系统加入几行代码,即可完成SSO服务的token验证。
//用HTTP POST请求,验证令牌有效性
Map<String, String> param =new HashMap<>();
param.put("cmd","com.actionsoft.apps.addons.sso_validate");
param.put("tokenId",tokenId);
param.put("access_key",access_key);
String jsonData=post(awsAPIServer,param,"utf-8");
//判断json返回数据,如果成功,上述代码等同于原系统的本地口令验证
若企业已实施完善的LDAP/AD服务,上述数据可以目录服务为准;若企业未构建目录服务或降级目录服务,则亦可以AWS的组织服务为准。
AWS的组织服务为开发者提供完整的API接口和事件监听(例如,新增人员、修改部门事件)