查看原文
其他

腾讯云 IDaaS + 云函数,不到 10 行代码解决企业身份难题

The following article is from 千帆连接器 Author 千帆连接器

企业内开发者经常需要开发各式各样自建应用,传统的开发方式很容易陷入一个身份困境:
  1. 反复实现账号注册、注销等管理,写一堆账号、组织、角色表、关联表类和对应接口。
  2. 面临繁琐各异的安全合规要求,挠头做密码有效期、GDPR 等数据合规。
  3. 对接企业内外部各类认证方式,微信、AD 域账号等等持续新增和变更。
当企业采用了腾讯云 IDaaS 之后,企业内开发者将可以省去以上烦恼,专注在自己的业务上,仅需在程序内注入几行代码、几分钟即可快速集成腾讯云 IDaaS。腾讯云 IDaaS 提供了不同编程语言的快速教程帮助企业开发者安全快速地对接,本文以基于腾讯云 Serverless 的 Node.js Express 框架为例,示例如何快速集成腾讯云 IDaaS 的 SSO 能力,适用于企业内部快速开发产品企业应用的场景,优势:
  • 不到 10 行,5 分钟快速集成 - 腾讯云 IDaaS
  • 0 运维成本,按量收费 - 云原生 Serverless 框架


01. 
什么是 腾讯云 IDaaS?
腾讯云 IDaaS(TencentCloud IDaaS,TCID)致力于为企业提供身份认证和数据管理服务。作为新一代企业身份连接平台,可针对多身份源进行数据清洗和数据聚合,适配复杂多样的企业既有应用和认证系统,实现企业应用身份的打通和连接。
  • 统一目录
集成各类企业身份数据源、第三方认证系统或应用,打通身份目录同步与认证能力,实现对人员、组织架构及人员组等多维度身份数据的集中储存及权限规则管理。 
  • 应用身份同步
支持本地与云端应用间的身份信息同步,快速映射身份数据,打通各应用间身份数据阻隔的壁垒。 
  • 身份安全审计
提供人员访问记录、管理员操作记录、应用使用记录等多维度日志审计服务。管理授权、业务操作、审计监察均可独立授权,同类授权可批量操作。


02. 
云函数 + IDaaS,快速部署

1. 前提配置

确保在开始之前在腾讯云 IDaaS 中配置新建 OIDC 应用(选择 Web 子类别)如下图所示:

我们假设应用程序将本地部署在 redirect uri,我们将获取和配置以下值:

准备开发环境:创建或者使用现有的 Express 应用。
利用 Serverless 应用中心控制台创建:在腾讯云控制台搜索 Serverless,在应用 Tab 里面创建一个新的 Express 应用,如下图所示,指导参考文档:https://cloud.tencent.com/document/product/1154/43224


2. 引入 SSO 依赖库

打开云 IDE,在您的 Express 项目依赖配置文件 package.json 中,加入以下依赖:

  • express-openid-connect
代码样例:
"dependencies": {   "express": "^4.17.1",   "express-openid-connect": "^2.4.0", }
如下所示:

3. 配置参数

根据「前提配置」获取的信息,为您的程序配置以下环境变量:
在 Serverless 中,需要在您的「函数服务 - 函数管理 - 函数配置」中进行配置。
CLIENT_ID= {clientId}CLIENT_SECRET= {clientSecret}ISSUER_BASE_URL= {IDaaS Wellkown}

4. 程序集成 SSO

在 Express 的 app 文件中启用 SSO:加入 app.use(auth(,并在您希望保护的请求中加入requiresAuth()通过 req.oidc.user获取用户的属性,如下示例(共 9 行代码):

5. 自选身份认证

沿用腾讯云 IDaaS 的超级认证源能力,可以快速启用你想接入的企业认证方式:


通过不到 10 行代码, 几分钟内您可以在创建一个 Express 应用并与腾讯云 IDaaS 集成 SSO使用,轻松创建和保护您的应用程序。作为开发人员,您只需使用从企业的腾讯云 IDaaS 管理员收到的参数添加到应用注册,引入对应 SDK,即可为您的应用程序启用 SSO 支持。


03. 
接入腾讯云 IDaaS
为企业开启使用腾讯云 IDaaS,访问以下产品链接进行购买:https://cloud.tencent.com/product/tcid,即可获得企业独有的 IDaaS 安全空间,提供为您的应用保驾护航。


推荐阅读


One More Thing

欢迎进入千人 QQ 群 (871445853) 交流 Serverless!
  • GitHub: github.com/serverless
  • 官网: cloud.tencent.com/product/serverless-catalog
点击「阅读原文」,了解 腾讯云千帆 IDaaS 产品更多信息。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存