You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
38 KiB
HTML

1 year ago
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-settings/jwtsettings" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.0">
<title data-rh="true">9. JWT 配置 | Furion</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="http://furion.baiqian.ltd/docs/settings/jwtsettings"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="9. JWT 配置 | Furion"><meta data-rh="true" name="description" content="如需编写配置的时候提供智能提示和校验,可查看 【2.7 JSON Schema 使用】"><meta data-rh="true" property="og:description" content="如需编写配置的时候提供智能提示和校验,可查看 【2.7 JSON Schema 使用】"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="http://furion.baiqian.ltd/docs/settings/jwtsettings"><link data-rh="true" rel="alternate" href="http://furion.baiqian.ltd/docs/settings/jwtsettings" hreflang="en"><link data-rh="true" rel="alternate" href="http://furion.baiqian.ltd/docs/settings/jwtsettings" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Furion RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Furion Atom Feed"><link rel="stylesheet" href="/assets/css/styles.3f87a095.css">
<script src="/assets/js/runtime~main.89709a83.js" defer="defer"></script>
<script src="/assets/js/main.10e5dc01.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const a=new URLSearchParams(window.location.search).entries();for(var[t,e]of a)if(t.startsWith("docusaurus-data-")){var n=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(n,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus"><div class="floatbar_hUWl"><div class="qrcode_sWwE"><img title="微信扫码关注 Furion 官方公众号" src="/img/weixin_qrcode.jpg" style="display:block"><div>❤️ 关注 Furion 微信公众号有惊喜哦!</div></div><div style="display:flex;flex-direction:row-reverse;align-items:flex-start"><div class="title_SD0k">🫠 遇到问题了</div><div class="extend__5i1"><a class="item_Y35a" href="/docs/subscribe"><div style="flex:1"><div class="itemTitle_If_T">⭐️ VIP 服务 ⭐️</div><div class="itemDesc_dp7r">仅需 499 元/年,尊享 365 天项目无忧</div></div><div class="jiantou_mV_o"></div></a><div class="item_Y35a"><div style="flex:1"><div class="itemTitle_If_T">问题反馈</div><div class="itemDesc_dp7r">到 Furion 开源仓库反馈</div></div><div class="jiantou_mV_o"></div></div></div></div></div><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" style="background-color:#4623d9;color:yellow" role="banner"><div class="content_knG7 announcementBarContent_xLdY">⭐️ 开通 VIP 服务仅需 499 元/年,尊享 365 天项目无忧 <a href="/docs/subscribe" style="background-color:rgb(199, 29, 36);color:#ffffff;padding:1px 10px;border-radius:3px;text-decoration:none;display:inline-block;margin:0 5px;font-size:12px;cursor:pointer;">立即开通</a>⭐️</div></div><nav aria-label="Main" class="navbar navbar--fixed-top navbarHideable_m1mJ"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/furionlogo.png" alt="Furion Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/furionlogo.png" alt="Furion Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Furion</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/category/appendix">文档</a><a class="navbar__item navbar__link" href="/docs/global/app">静态类</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/docs/settings/appsettings">配置</a><a class="navbar__item navbar__link" href="/blog">博客</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">更新日志</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/upgrade">📝 查看日志v4.9.1.7</a></li><li><a class="dropdown__link" href="/docs/target">🚀 路线图</a></li></ul></div><a href="http://furion.baiqian.ltd/api/api" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">API<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="91-关于配置">9.1 关于配置<a href="#91-关于配置" class="hash-link" aria-label="Direct link to 9.1 关于配置" title="Direct link to 9.1 关于配置"></a></h2>
<p><code>JWT</code> 配置指的是生成 <code>JWT</code> token 配置。</p>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="92-配置信息">9.2 配置信息<a href="#92-配置信息" class="hash-link" aria-label="Direct link to 9.2 配置信息" title="Direct link to 9.2 配置信息"></a></h2>
<ul>
<li><code>JWTSettings</code>:根节点<!-- -->
<ul>
<li><code>ValidateIssuerSigningKey</code>:是否验证密钥,<code>bool</code> 类型,默认 <code>true</code></li>
<li><code>IssuerSigningKey</code>:密钥,<code>string</code> 类型,必须是复杂密钥,长度大于 <code>16</code></li>
<li><code>ValidateIssuer</code>:是否验证签发方,<code>bool</code> 类型,默认 <code>true</code></li>
<li><code>ValidIssuer</code>:签发方,<code>string</code> 类型</li>
<li><code>ValidateAudience</code>:是否验证签收方,<code>bool</code> 类型,默认 <code>true</code></li>
<li><code>ValidAudience</code>:签收方,<code>string</code> 类型</li>
<li><code>ValidateLifetim</code>:是否验证过期时间,<code>bool</code> 类型,默认 <code>true</code>,建议 <code>true</code></li>
<li><code>ExpiredTime</code>:过期时间,<code>long</code> 类型,单位分钟,默认 <code>20</code> 分钟</li>
<li><code>ClockSkew</code>:过期时间容错值,<code>long</code> 类型,单位秒,默认 <code>5</code></li>
<li><code>Algorithm</code>:加密算法,<code>string</code> 类型,默认 <code>HS256</code>,可选算法有:<!-- -->
<ul>
<li><code>HS256</code></li>
<li><code>HS384</code></li>
<li><code>HS512</code></li>
<li><code>PS256</code></li>
<li><code>PS384</code></li>
<li><code>PS512</code></li>
<li><code>RS256</code></li>
<li><code>RS384</code></li>
<li><code>RS512</code></li>
<li><code>ES256</code></li>
<li><code>ES256K</code></li>
<li><code>ES384</code></li>
<li><code>ES512</code></li>
<li><code>EdDSA</code></li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorWithHideOnScrollNavbar_WYt5" id="93-配置示例">9.3 配置示例<a href="#93-配置示例" class="hash-link" aria-label="Direct link to 9.3 配置示例" title="Direct link to 9.3 配置示例"></a></h2>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#bfc7d5;--prism-background-color:#292d3e"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#bfc7d5;background-color:#292d3e"><code class="codeBlockLines_e6Vv codeBlockLinesWithNumbering_o6Pm"><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">{</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;JWTSettings&quot;: {</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ValidateIssuerSigningKey&quot;: true, // 是否验证密钥bool 类型默认true</span></span><br></span><span class="token-line theme-code-block-highlighted-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;IssuerSigningKey&quot;: &quot;你的密钥&quot;, // 密钥string 类型必须是复杂密钥长度大于16</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ValidateIssuer&quot;: true, // 是否验证签发方bool 类型默认true</span></span><br></span><span class="token-line theme-code-block-highlighted-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ValidIssuer&quot;: &quot;签发方&quot;, // 签发方string 类型</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ValidateAudience&quot;: true, // 是否验证签收方bool 类型默认true</span></span><br></span><span class="token-line theme-code-block-highlighted-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ValidAudience&quot;: &quot;签收方&quot;, // 签收方string 类型</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ValidateLifetime&quot;: true, // 是否验证过期时间bool 类型默认true建议true</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ExpiredTime&quot;: 20, // 过期时间long 类型单位分钟默认20分钟</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;ClockSkew&quot;: 5, // 过期时间容错值long 类型,单位秒,默认 5秒</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> &quot;Algorithm&quot;: &quot;HS256&quot; // 加密算法string 类型,默认 HS256</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain"> }</span></span><br></span><span class="token-line codeLine_lJS_" style="color:#bfc7d5"><span class="codeLineNumber_Tfdd"></span><span class="codeLineContent_feaV"><span class="token plain">}</span></span><br></span></code></pre><div
</body>
</html>