部署雲函式生成的閘道器url 訪問的應用、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. 方案架構
開發者透過訪問 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),並預覽整合認證後的效果,只需要以下四步就可以輕鬆完成:
2.1 透過 SCF 建立 Express 框架模版(Auth)
1. 登入雲函式 SCF 控制檯;
2. 選擇函式服務 > 新建 > 模版建立 > Express 框架模版(Auth),如下圖所示:
3. 單擊「下一步」,完成模版選擇;
4. 點選完成按鈕,即可建立函式,建立完成後即可在函式管理中看到函式配置資訊;
至此,您已經完成了 Express 框架模版(Auth)模板的建立,接下來只需要將函式程式碼中的初始化引數進行更新,就可以完成整合,初始化引數見下圖所示:
在接下來的步驟裡,我們將演示如何獲取到 初始化引數 的值,在此之前,我們在函式程式碼 Tab 頁的原始碼編輯器下,可以看到訪問路徑的地址,我們需要先 複製該 URL 地址,它會用於後續的配置。
2.2 配置 Tencent CIAM 應用
在配置前需要先建立 Tencent CIAM 應用,Tencent CIAM 提供了快捷的建立能力,透過立即建立即可一鍵完成應用的建立,待應用建立完成後經過簡單的配置你就可以獲取到上述初始化引數的值,操作步驟如下:
1. 進入數字身份管控平臺(公眾版)控制檯,點選立即建立按鈕。
2. 配置 redirectUri
、logoutRedirectUrl
回撥地址
進入數字身份管控平臺(公眾版),在應用管理 > 應用列表 > 檢視詳情 > 引數配置頁面中配置 redirectUri、logoutRedirectUrl 的值,如下:
引數名 | 引數值 |
redirectUri | ${部署函式生成的閘道器url}/callback |
logoutRedirectUrl | ${部署函式生成的閘道器url}/logout , ${部署函式生成的閘道器url}/release/ |
注:${部署函式生成的閘道器url}即為第一步記錄的 訪問路徑 的值。
3. 獲取 SCF Express 框架模版(Auth)中需要的初始化引數
至此,Tencent CIAM應用的建立和配置就已經完成,現在就可以獲取到 Serverless Express 中的初始化引數:clientId、userDomain、redirectUri、logoutRedirectUrl
,獲取引數的位置和值如下:
在域名設定介面中開發者可以使用騰訊雲平臺域名或者自有域名,確認後記錄該資料值。
2.3 更新 SCF Express 框架模版(Auth)的初始化引數
根據上述獲得的clientId、userDomain、redirectUri、logoutRedirectUrl
引數值,更新SCF Express 框架模版(Auth)的初始化引數,進入函式服務 > 先擇第一步建立好的函式 > 函式程式碼 Tab 頁,對初始化引數進行更新,引數更新完成部署後就可以預覽整合的效果。
2.4 在 SCF 預覽整合效果
開啟函式服務 > 開啟已建立好的函式服務 > 函式程式碼 Tab 頁原始碼編輯器下方的訪問路徑按鈕,即可在新頁面看到檢視整合 CIAM 後的執行效果如下:
點選右上角的登入按鈕,進入 CIAM 認證頁面:
至此,你已經完成了 CIAM 的程式碼整合,可以直接使用 CIAM 的登入、註冊功能了。
Tencent CIAM 產品目前已經正式釋出,提供了專用的 ciam-node-sdk,透過該 SDK,您可以將登入認證模組與您自己的 Web 函式專案快速整合,大大簡化開發流程,提升開發體驗。
Tencent CIAM的官網連結:https://console.cloud.tencent.com/ciam
歡迎進入騰訊IDAM體驗交流群,免費活動正在進行中!