CryptoProvider class

此類別實作 MSAL 節點的加密介面,允許執行 base64 編碼與解碼,產生密碼學上隨機的 GUID,並利用 PKCE 實作 Proof Key for Code Exchange 規範以實現 OAuth 授權碼流程的規範(rfc 見此:https://tools.ietf.org/html/rfc7636)。

方法

base64Decode(string)

從 base64 解碼輸入字串。

base64Encode(string)

將輸入字串編碼為 base64。

base64UrlEncode()

base64 URL 安全編碼字串

clearKeystore()

移除所有密碼金鑰從金鑰庫中

createNewGuid()

建立一個新的隨機 GUID——用來填充狀態和 nonce。

encodeKid()

串化並編碼 base64Url 輸入公鑰

generatePkceCodes()

產生用於授權碼流程的 PKCE 碼。

getPublicKeyThumbprint()

產生一對金鑰對,儲存並回傳一個拇指印記——目前尚未在 Node 上實作

hashString(string)

回傳輸入字串的 SHA-256 雜湊值

removeTokenBindingKey()

從與輸入的 keyId 相符的密鑰儲存中移除密碼學金鑰對

signJwt()

將指定物件標記為 jwt 有效載荷,並由指定 kid 取得私鑰——目前尚未在 node 上實作

方法詳細資料

base64Decode(string)

從 base64 解碼輸入字串。

function base64Decode(input: string): string

參數

input

string

待解碼的字串

傳回

string

base64Encode(string)

將輸入字串編碼為 base64。

function base64Encode(input: string): string

參數

input

string

字串要編碼

傳回

string

base64UrlEncode()

base64 URL 安全編碼字串

function base64UrlEncode(): string

傳回

string

clearKeystore()

移除所有密碼金鑰從金鑰庫中

function clearKeystore(): Promise<boolean>

傳回

Promise<boolean>

createNewGuid()

建立一個新的隨機 GUID——用來填充狀態和 nonce。

function createNewGuid(): string

傳回

string

字串 (GUID)

encodeKid()

串化並編碼 base64Url 輸入公鑰

function encodeKid(): string

傳回

string

Base64Url 編碼公鑰

generatePkceCodes()

產生用於授權碼流程的 PKCE 碼。

function generatePkceCodes(): Promise<PkceCodes>

傳回

Promise<PkceCodes>

getPublicKeyThumbprint()

產生一對金鑰對,儲存並回傳一個拇指印記——目前尚未在 Node 上實作

function getPublicKeyThumbprint(): Promise<string>

傳回

Promise<string>

hashString(string)

回傳輸入字串的 SHA-256 雜湊值

function hashString(plainText: string): Promise<string>

參數

plainText

string

傳回

Promise<string>

removeTokenBindingKey()

從與輸入的 keyId 相符的密鑰儲存中移除密碼學金鑰對

function removeTokenBindingKey(): Promise<void>

傳回

Promise<void>

signJwt()

將指定物件標記為 jwt 有效載荷,並由指定 kid 取得私鑰——目前尚未在 node 上實作

function signJwt(): Promise<string>

傳回

Promise<string>