云函数 SCF 全面集成腾讯数字身份管控平台 CIAM,快速实现账号管理

日志狂
• 阅读 1022

在 Web 应用的开发搭建中,为应用的用户提供 登录认证功能 都是一项基础且普遍的需求,从以往的开发者反馈来看,这一模块往往需要自主搭建,耗时费力。而 腾讯数字身份管控 平台(公众版)(以下简称Tencent CIAM)的出现则帮助开发者大大简化了这一部分的使用体验。

Tencent CIAM 用于管理公众互联网用户的账号、注册和认证规则,打通分散的用户数据孤岛、帮助应用更好地进行用户识别与画像,帮助开发者快速搭建安全、可靠的登录认证体系,实现用户登录认证。目前,云函数 SCF 已经支持全面集成 CIAM,只需几行代码修改,即可快速在应用中完成身份认证模块的添加。

01. Tencent CIAM 功能优势

  • 灵活的注册/认证流程配置

支持自定义配置登录、注册、多因素认证、忘记用户、忘记密码等流程,支持自定义 Logo、公司名称、域名配置能力。

  • 多种应用类型支持

支持 Web 应用、单页应用、移动 APP 应用、小程序应用等应用类型。

  • 多渠道统一登录体验

支持通过 Web 应用、移动应用、H5 应用、小程序应用、微信公众号等多种渠道登录的统一登录体验。

  • 多种认证方式支持

    支持账号密码认证、短信认证、邮箱认证、等通用认证方式,支持微信、QQ、支付宝等主流社交认证源方式。

  • 灵活用户数据模型自定义

支持根据业务配置不同的用户模型,支持用户自定义属性,支持为属性字段配置是否必填、字段类型等,提供正则表达式等高级能力。

  • 账号融合支持

支持基于手机号、邮箱、微信 openid、微信 unionid 等认证属性识别同一个自然人用户并进行账号融合。

02. Express Web 框架快速集成认证

接下来将以云函数 SCF 的 Express 框架模版为例,介绍 SCF 和 CIAM 的集成业务流程,开发者只需要在 SCF 模版创建中直接选择「Express 框架模版(Auth)」,通过简单的配置操作即可拥有 Tencent CIAM 的认证能力。

1. 方案架构

<img src="https://qcloudimg.tencent-cloud.cn/raw/30430b481620b0ced48470cc5feb73ac.png" width="700"/>

开发者通过访问 SCF 内置的 Express 框架模板(Auth) 模版代码,通过调用 Tencent CIAM 提供的 SDK(CIAM-NODE-SDK )提供的方法,使 SCF 可以直接调用和访问 Tencent CIAM 中的登录、获取用户信息以及退出等认证能力,并向外暴露该认证能力,使开发者应用根据现有业务完成认证能力的集成。开发者在集成 SCF Express 框架模板(Auth)版本后,将即刻拥有Tencent CIAM 提供的强大的用户体系的认证管理能力。

2. 配置流程

SCF 云函数目前已支持预集成 CIAM 登录认证模块的函数模版「Express框架模版(Auth)」,可以通过模版快速部署,也可以基于模版示例实现您自主业务的集成。接下来将为大家介绍如何快速创建、使用和集成 SCF 中的 Express 框架模版(Auth),并预览集成认证后的效果,只需要以下四步就可以轻松完成:

<img src="https://qcloudimg.tencent-cloud.cn/raw/cf7a65e35ff87524f3e16fdd06e3b73f.png" width="700"/>

2.1 通过 SCF 创建 Express 框架模版(Auth)

  1. 登录云函数 SCF 控制台;
  1. 选择函数服务 > 新建 > 模版创建 > Express 框架模版(Auth),如下图所示:

<img src="https://qcloudimg.tencent-cloud.cn/raw/114324fde47877e6cc3aac6dea684f03.png" width="700"/>

  1. 单击「下一步」,完成模版选择;
  2. 点击完成按钮,即可创建函数,创建完成后即可在函数管理中看到函数配置信息;

至此,您已经完成了 Express 框架模版(Auth)模板的创建,接下来只需要将函数代码中的初始化参数进行更新,就可以完成集成,初始化参数见下图所示:

<img src="https://qcloudimg.tencent-cloud.cn/raw/b3b25478f09f60bb9d9a5719bf1013d8.png" width="700"/>

在接下来的步骤里,我们将演示如何获取到 初始化参数 的值,在此之前,我们在函数代码 Tab 页的源码编辑器下,可以看到访问路径的地址,我们需要先 复制该 URL 地址,它会用于后续的配置。

<img src="https://qcloudimg.tencent-cloud.cn/raw/5a27943c1244b7188bb7df4471c7ad4c.png" width="700"/>

2.2 配置 Tencent CIAM 应用

在配置前需要先创建 Tencent CIAM 应用,Tencent CIAM 提供了快捷的创建能力,通过立即创建即可一键完成应用的创建,待应用创建完成后经过简单的配置你就可以获取到上述初始化参数的值,操作步骤如下:

  1. 进入数字身份管控平台(公众版)控制台,点击立即创建按钮。

<img src="https://qcloudimg.tencent-cloud.cn/raw/fc2765e2f7d9ff5005c4209682b5aeef.png" width="700"/>

  1. 配置 redirectUrilogoutRedirectUrl回调地址

进入数字身份管控平台(公众版),在应用管理 > 应用列表 > 查看详情 > 参数配置页面中配置 redirectUri、logoutRedirectUrl 的值,如下:

<img src="https://qcloudimg.tencent-cloud.cn/raw/0ed5bbf148a7cf6fa273991634f52514.png" width="700"/>

参数名参数值
redirectUri${部署函数生成的网关url}/callback
logoutRedirectUrl${部署函数生成的网关url}/logout , ${部署函数生成的网关url}/release/

注:${部署函数生成的网关url}即为第一步记录的 访问路径 的值。

  1. 获取 SCF Express 框架模版(Auth)中需要的初始化参数

至此,Tencent CIAM应用的创建和配置就已经完成,现在就可以获取到 Serverless Express 中的初始化参数:clientId、userDomain、redirectUri、logoutRedirectUrl,获取参数的位置和值如下:

  • 在应用管理 > 应用列表 > 查看详情 > 参数配置页面中记录 redirectUri、logoutRedirectUrl 回调地址;

<img src="https://qcloudimg.tencent-cloud.cn/raw/25fb42e03dcdbbb2aaab0f8c6d140e7e.png" width="700"/>

  • 在应用管理 > 应用列表页面中获取 clientId 应用 ID;

<img src="https://qcloudimg.tencent-cloud.cn/raw/5215bd05405a465dec5ecd5c27bf211b.png" width="700"/>

  • 在个性化设置 > 域名设置页面中获取 userDomain 租户域名;

在域名设置界面中开发者可以使用腾讯云平台域名或者自有域名,确认后记录该数据值。

<img src="https://qcloudimg.tencent-cloud.cn/raw/9925c7784cc6e42de8740651fc2c3a0e.png" width="700"/>

2.3 更新 SCF Express 框架模版(Auth)的初始化参数

根据上述获得的clientId、userDomain、redirectUri、logoutRedirectUrl参数值,更新SCF Express 框架模版(Auth)的初始化参数,进入函数服务 > 先择第一步创建好的函数 > 函数代码 Tab 页,对初始化参数进行更新,参数更新完成部署后就可以预览集成的效果。

<img src="https://qcloudimg.tencent-cloud.cn/raw/7d7b7764cd1913e47dbbf2a913b04986.png" width="700"/>

2.4 在 SCF 预览集成效果

打开函数服务 > 打开已创建好的函数服务 > 函数代码 Tab 页源码编辑器下方的访问路径按钮,即可在新页面看到查看集成 CIAM 后的运行效果如下:

<img src="https://qcloudimg.tencent-cloud.cn/raw/6248b212486bd70876c7bbb8dc0c0baa.png" width="500"/>

点击右上角的登录按钮,进入 CIAM 认证页面:

<img src="https://qcloudimg.tencent-cloud.cn/raw/04d2ca9f2ccdd460204a8e6ff8594a52.jpeg" width="500"/>

至此,你已经完成了 CIAM 的代码集成,可以直接使用 CIAM 的登录、注册功能了。

Tencent CIAM 产品目前已经正式发布,提供了专用的 ciam-node-sdk,通过该 SDK,您可以将登录认证模块与您自己的 Web 函数项目快速集成,大大简化开发流程,提升开发体验。

One More Thing

立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 👉 腾讯云 Serverless 新手体验

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
KubeSphere 正式入驻 AWS Quick Start,服务全球用户云原生落地
日前,面向云原生应用的容器平台KubeSphere宣布正式入驻AmazonWebServices(AWS)QuickStart,基于AmazonElasticKubernetesService(AmazonEKS)深度集成,为全球用户提供多集群管理、微服务治理、应用管理等功能,以极简的部署与管理,帮助企业快速落地
Stella981 Stella981
3年前
Keycloak单点登录
!(https://oscimg.oschina.net/oscnet/82539809f0d749688ef60b10791cebd7.png)登录及身份认证是现代web应用最基本的功能之一,对于企业内部的系统,多个系统往往希望有一套SSO服务对企业用户的登录及身份认证进行统一的管理,提升用户同时使用多个系统的体验,Keycloak正是为此
交易履约之结算平台实践 | 京东云技术团队
导读京东科技业务在快速发展的同时,产生了众多线上化资金结算的需求。传统的线下资金结算模式有着人力成本高、耗时长、多方沟通协调成本高、结算准确率低等固有缺点,且无法满足“风法财审”对于资金流程的管控要求,在此背景下金道结算平台孕育而生。本文从系统建设的背景、
曼成 曼成
1年前
实人认证API的出现,让电子化身份验证更加可靠
随着信息技术的快速发展和数字化转型的加速,各种电子化应用正在走进人们的生活中,电子化身份验证也成为了日益普遍的需求。从现在生活中各种App、网站、电商平台等需要身份认证的场景来看,身份验证的确是十分重要的一环。但是,当前仍然存在着不少身份认证不可靠等问题。为了解决这些问题,近年来,实人认证API的出现,让电子化身份验证更加可靠。
如何帮企事业单位实现办公私有化部署?
私有部署,统⼀存储,集中管控•满⾜私有化部署和使⽤需求,提供统⼀存储空间,汇集政府重要资料;•改善政府多IT系统⽂档分散管理情况,建⽴政府数字资产的集中存储和管理平台,实现办公信息流平滑对接;•打造政府内部资料知识库,⽤户登陆⽹盘,统⼀查看和管理各部门相关
API 小达人 API 小达人
1年前
高效管理近 2 万个 API,中金财富是如何做到的?
通过平台设置内控管理,建立起组织内部不同API的权限管控,为实现API统一平台管理奠定基础。将已有存量API传统文档进行了梳理,再进行平台数字化处理。Java通过代码的注解生成API文档,生成的API文档不全,则完善注解之后再重新生成。如果非Java语言的,则通过其他工具转换为Postman等格式再导入到Eolink里面,完成API资产文档的迁移及统一管理、监控。
IM即时通讯+统一门户的私有化融合
"降低研发投入支持内网部署的即时通讯软件。IM即时通讯为企业搭建安全可控的即时通讯环境提供移动平台底座包括im即时通讯内部多种轻协应用,比如即时聊天组织/通讯录/文件/消息/设备管控…..统一管控,私有化的专属特权安全、可控"详情查看:https://ww
IM即时通讯+统一门户的私有化融合
"降低研发投入支持内网部署的即时通讯软件。IM即时通讯为企业搭建安全可控的即时通讯环境提供移动平台底座包括im即时通讯内部多种轻协应用,比如即时聊天组织/通讯录/文件/消息/设备管控…..统一管控,私有化的专属特权安全、可控"详情查看:https://ww
天翼云发布边缘安全加速平台AccessOne,四大产品能力助力企业安全高速发展
为了在不可信网络中构建信任的安全系统,AccessOne推出零信任服务,基于零信任安全理念和架构,依托天翼云边缘节点,以身份认证与动态评估为基础,打造全新的企业安全远程访问能力,提供更安全、便捷、统一的接入服务。通过零信任控制面服务,天翼云助力客户有效进行统一管控、策略下发,实现身份可信、设备可信和行为可信;通过零信任数据面服务,天翼云可为客户提供包括智能选路、解除安全威胁的全方位保障。
飞速成功案例 | “ 腾讯+飞速 ” 互联网企业的数字化实践之路
​腾讯作为BAT三大巨头之一;在2018年引进了低代码平台,以低代码为核心的一体化高生产力平台赋能业务,在不同的业务领域中进行探索和突破。传统低代码无法适应市场发展随着腾讯的核心业务迅速发展,定制化需求的业务不断涌现,传统模块无法适应快速发展的市场定制化需求;尤其是标准化应用二次开发的限制成为了业务掣肘,信息化建设倾向于统建、大集中共享模式,对项目协同与管控要求较高。基于此,如何通过容器化优化资源使用、提升运维效率、加速微服务落地;使用国产化的底层资源和服务,做到自主可控,安全性强;实现系统云化、简单易用