Angular 14 + ASP.Net Core (.Net 7)
使用 bitwarden 的免費方案測試,支援 .net standard 或 .net framework 4.6.2
參考文件
官網開發文件
先註冊 bitwarden 並建立一個專案取得 api secret及 api key 會用於程式開發上
開發專案需加入 package
dotnet add package Passwordless --version 2.0.0
program.cs
{
options.ApiSecret = "your secret";
options.ApiKey = "your key";
});
後端
實作 ASP.Net Core API Controller,請參 git hub example 實作兩個 get,會在前端程式當使用者點選註冊或登入時呼叫
create-token :呼叫 bitwareden api 取得 register token
verify-signin:呼叫 bitwareden api 驗證 token ,如果 token ok ,這邊應該就可以從後台取得登入的使用者資訊並作授權
前端
因為採用 Angular 14 要先取得 library
npm i passwordlessdev (20241129 只能用 1.1.2以下版本)
請參考 官網 frontend asp.net 範例 javascript 程式碼
實作兩個方法
regisgter :先呼叫 controller create-token取得 token後再執行 register,如果用手機的話,這時你的手機就會跳出畫面讓你操作,把 token 放到手機
login: 呼叫 signinWithDiscoverable 先從手機取得 token後再叫 controller verify-signin 驗證token是否合法
目前邊測試邊了解 passwordless 是什麼,後續應該可以試著實作 passwordless server 在自己的機器上,可以參考黑大 ASP.NET Core 整合 WebAuthn/Passkey 無密碼登入之精簡範例
沒有留言:
張貼留言