借助自身平台,我們用兩個小時完成了新專案的使用者系統

2021-10-11 21:28:09 字數 1836 閱讀 9221

近年來敏捷開發這個詞很火,從技術角度來講,想要做到敏捷開發,必須要有足夠的技術沉澱,最大化復用已有元件(如後端框架最佳實踐模版腳手架、通用工具函式、通用前端元件等),否則敏捷開發根本很難快起來。

我們最近也在開發乙個新專案,從專案設計、原型圖設計到最終上線,週期只有乙個星期。正巧 我們 是一家提供身份認證服務的雲廠商,使用者系統就是我們沉澱下來的乙個可以復用的通用元件,使用者增刪改查、禁用賬號、社會化登入、登入表單、使用者登入態維護都是封裝好的,且高度配置化。這個新專案的使用者系統當然得用自己的啦!

最終我們乙個工程師花了兩個小時的時間,在專案中整合了 authing ,專案也得以順利按時上線。下面我們便來分享一下這個案例。

首先我們來看一下該專案使用者系統的需求,在假設從零開始來做的話需要完成哪些工作:

需要能夠審計使用者的登入行為,知道誰在什麼時候、什麼地點登入了該應用。

const authenticationclient = new authenticationclient()

await authenticationclient.social.authorize("wechatwork:corp:qrconnect", ,

onerror: (code, message) => ,

})authing 提供了乙個可嵌入的 前端登入元件 ,支援 react、vue、angular 三種前端框架以及原生 js 呼叫,以 react 元件為例,接入也是幾行**。你可以在 authing 控制台 的應用列表頁面獲取到 a ppi d 。

import react,  from 'react'

import from '@authing/react-ui-components'

import '@authing/react-ui-components/lib/index.min.css'

const [user, setuser] = usestate(null)

return (

onlogin=

config=}

/>);}

看下效果,介面還是很美觀的,幾分鐘,乙個登入表單就完成了。

借助 組織機構 sdk ,也 很 容易完成根據使用者所在部門判斷許可權的功能。

這也是 authing 內建的功能,能夠看到誰在什麼地方登入了應用:

authing 使用 json web token 表示使用者身份憑證,你可以在後端使用 ​ jwt.verify ​ 驗證 token ,並獲取到使用者資料,以 ​ express ​ 中介軟體為例:

import jwt from 'jsonwebtoken';

const auth = async (req, res) => catch (error) )}}

由於直接使用​ jwt ​ 金鑰驗證 token,不會有任何網路請求,速度非常快。

這些流程下來,基本上每乙個都是花幾分鐘就接入了,借助 authing 強大的元件復用能力,我們得以在最短時間內完成了 mvp 產品的上線。作為乙個開發者,敏捷絕不能僅是乙個口號,也不能只有方**,關鍵還是得有技術沉澱,有足夠優質的輪子可以復用。

兩個小時學會DirectDraw程式設計

這並非譁眾取寵,通常學習一種電腦技術有兩種方法.一種是自己摸索,在錯誤的方向上一錯再錯,屢戰屢敗,不過最後得道成功.另一種是有人 或好的材料指導,因而事半功倍,在正確的方向上走了速成的捷徑.就象kfc 的雞一樣.第一種學法能學出電腦天才,因為所謂電腦高手,其實就是排錯試錯的高手.而第二種則出電腦專才...

昨天 github 掛了兩個小時

首先說下 www.githubstatus.com 可以實時的檢視到 github 服務的可用性狀態 文中關於可用性的截圖都來自這裡。下圖就是今天 2020年06月30 能看到的服務狀態,可以看到昨天 github 的除了 git pages 服務,其他服務都出現了事故 incidence 其中 g...

用兩個棧實現佇列 用兩個佇列實現棧

劍指offer 面試題7 用兩個棧實現佇列。templateclass cqueue 我們試著用兩個棧來模擬佇列的操作,發現如下可行操作 完整 實現 面試題7 用兩個棧實現佇列 分別完成在隊尾插入結點和在隊頭刪除結點的功能。date 2014 06 27 include include includ...