简介
axios-azure-token-store 是一个专门为 Azure AD 鉴权方式设计的 axios token storage 实现。它通过将 token 存储在 Azure 的 KeyVault 中,从而保证了 token 的安全性和可靠性。该包完全兼容 axios API,易于使用且高效。
安装
你可以通过 npm 或者 yarn 安装:
npm install axios-azure-token-store
或者
yarn add axios-azure-token-store
使用方法
axios-azure-token-store 是一个存储器,它可以在请求之前、之后、或是在响应拦截器内使用。首先,你需要创建一个 keyvault url 并在其中存储你的 Azure AD 鉴权信息。
然后,使用以下方式来创建 axios 实例:
-- -------------------- ---- ------- ----- ----- - ----------------- ----- ---------- - ----------------------------------- -- ---- -- --- ---------- ----- ---------- - --- ------------ ------------ --------------------------------------------- --------- ---------------- ------------- -------------------- --- -- ---- -- -- ----- ----- ---------- ----- -------- - -------------- -------- --------------------------- -- ---- -- -- ---------- - -------- -- -------- ----- -- -- -- -------------- ------- ------- ------------------------ --- --- -- ---- -- ---- ------------------------------------- -- - ---------------------- -------------- -- - -------------------- --
在这里,我们首先创建了 tokenStore 并将其作为新的 axios 实例的 headers 配置。在请求时,axios 将会自动获取并使用 token。
拦截器
拦截器是 axios 提供的功能之一。使用拦截器,我们可以在请求发送之前或响应被处理之前对数据进行修改或添加。
这种方式可以利用 axios-azure-token-store 很好地完成。我们可以通过创建拦截器并传递 tokenStore 来使用它的功能。以下是一个示例拦截器代码,将会在请求的 headers 中添加 X-Custom 和 X-Another 自定义头部:
const interceptor = axios.interceptors.request.use(async config => { const token = await tokenStore.getToken(); config.headers.Authorization = `Bearer ${token}`; config.headers['X-Custom'] = 'Custom Header'; config.headers['X-Another'] = 'Another Header'; return config; });
你可以通过拦截器上的 eject 方法来移除拦截器,如下所示:
axios.interceptors.request.eject(interceptor);
结语
出于安全和可靠性原因,大多数企业都希望使用 Azure AD 鉴权方式。axios-azure-token-store 可以完美地满足这一需求。它可以帮助我们安全地存储 token 并在请求时使用它。通过使用拦截器,我们可以进一步扩展其功能,并处理更多的请求。希望本篇文章对你有所帮助和启发!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60059a9a81e8991b448ed425