生成token
<p><strong>简要描述:</strong> </p>
<ul>
<li>生成token信息,登陆成功后,后续请求数据进行认证校验</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>/api/auth/oauth/token</code></li>
</ul>
<p><strong>封装header:</strong> </p>
<ul>
<li><code>(&quot;Authorization&quot;, &quot;Basic cGMtc2VydmljZS1wb3J0YWwtdWk6MTIzNDU2&quot;)</code></li>
<li><code>(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;)</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST</li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">username</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>用户名</td>
</tr>
<tr>
<td style="text-align: left;">password</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>密码</td>
</tr>
<tr>
<td style="text-align: left;">grant_type</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>类型</td>
</tr>
<tr>
<td style="text-align: left;">is_encrypt</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>是否加密 默认1</td>
</tr>
<tr>
<td style="text-align: left;">hava-cas-login</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>是否cas登录 默认0,cas登录1</td>
</tr>
</tbody>
</table>
<p><strong>示例:</strong></p>
<ul>
<li><code>username=admin&amp;password=123456&amp;grant_type=password</code></li>
</ul>
<p><strong>返回示例</strong></p>
<pre><code> {
&quot;access_token&quot;: &quot;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfbmFtZSI6ImFkbWluIiwiaXNTdXBlckFkbWluIjoiMSIsInVzZXJOYW1lIjoiTXIuQUciLCJ1c2VySWQiOiIxIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9VU0VSIl0sImNsaWVudF9pZCI6InZ1ZSIsInN1Y2Nlc3MiOnRydWUsInNjb3BlIjpbInJlYWQiXSwiZXhwaXJlIjoxNTM2NjM0MTc4NzY5LCJleHAiOjE1MzY2NDQ5NzgsImRlcGFydCI6InJvb3QiLCJqdGkiOiJjMjVmNWU0NC0xYWIzLTQ1N2YtODdmOC05NTUzYTllMzdhNGUiLCJ0ZW5hbnQiOiJhYzg4Y2ViMzg2YWE0MjMxYjA5YmY0NzJjYjkzN2MyNCIsInN0YXR1cyI6MjAwfQ.IKEyPGsUMMWkuJLdmbzJP73qnsH9NhDkZuDhzxweuZE6ujFya8u3Iku0bCmeUJBAkwgkqkrHK0-d9IcE7Vx40ONAT5JiMHXbhHGSn2np7Kt6TQYVFwnclIxEDYWx77xo_W5LV73cqmKcpwTGcDkTSkg2TnSwvu_Nkd_GDR3ihT4&quot;,
&quot;token_type&quot;: &quot;bearer&quot;,
&quot;refresh_token&quot;: &quot;eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfbmFtZSI6ImFkbWluIiwiaXNTdXBlckFkbWluIjoiMSIsInVzZXJOYW1lIjoiTXIuQUciLCJ1c2VySWQiOiIxIiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9VU0VSIl0sImNsaWVudF9pZCI6InZ1ZSIsInN1Y2Nlc3MiOnRydWUsInNjb3BlIjpbInJlYWQiXSwiZXhwaXJlIjoxNTM2NjM0MTc4NzY5LCJhdGkiOiJjMjVmNWU0NC0xYWIzLTQ1N2YtODdmOC05NTUzYTllMzdhNGUiLCJleHAiOjE1MzkyMjI1NzgsImRlcGFydCI6InJvb3QiLCJqdGkiOiJlZGNiMzk2YS1iMzNmLTQ5MmYtOGI2OC1lN2QwOTc0NzQ5ZmIiLCJ0ZW5hbnQiOiJhYzg4Y2ViMzg2YWE0MjMxYjA5YmY0NzJjYjkzN2MyNCIsInN0YXR1cyI6MjAwfQ.UmW6r4tG4p99Z8ggiRb0fkcojDxXwWKMSFEVm-CKw8BNakZJLQlnguLrvLiBv4M7AlaBuqZi10aPbdixJSCNuOo5bDCN9jikzr2Db3mCnTeNkL5X-h6NLCUAQe6Kd2gneEvCoi03uuowwsa7ZN7L_Wi773leHSidIMAnKuetc8k&quot;,
&quot;expires_in&quot;: 14399,
&quot;scope&quot;: &quot;read&quot;,
&quot;sub&quot;: &quot;admin&quot;,
&quot;success&quot;: true,
&quot;expire&quot;: &quot;2018-09-11 10:49:38&quot;,
&quot;isSuperAdmin&quot;: &quot;1&quot;,
&quot;depart&quot;: &quot;root&quot;,
&quot;userName&quot;: &quot;Mr.AG&quot;,
&quot;userId&quot;: &quot;1&quot;,
&quot;tenant&quot;: &quot;ac88ceb386aa4231b09bf472cb937c24&quot;,
&quot;status&quot;: 200,
&quot;jti&quot;: &quot;c25f5e44-1ab3-457f-87f8-9553a9e37a4e&quot;
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">access_token</td>
<td style="text-align: left;">string</td>
<td>token</td>
</tr>
<tr>
<td style="text-align: left;">token_type</td>
<td style="text-align: left;">string</td>
</tr>
<tr>
<td style="text-align: left;">refresh_token</td>
<td style="text-align: left;">string</td>
<td>token过期后用于产生新的token</td>
</tr>
<tr>
<td style="text-align: left;">expires_in</td>
<td style="text-align: left;">int</td>
<td>过期时间</td>
</tr>
<tr>
<td style="text-align: left;">scope</td>
<td style="text-align: left;">string</td>
<td></td>
</tr>
<tr>
<td style="text-align: left;">sub</td>
<td style="text-align: left;">string</td>
<td>login name</td>
</tr>
<tr>
<td style="text-align: left;">expire</td>
<td style="text-align: left;">string</td>
<td>过期时间</td>
</tr>
<tr>
<td style="text-align: left;">depart</td>
<td style="text-align: left;">string</td>
<td>组织机构</td>
</tr>
<tr>
<td style="text-align: left;">userName</td>
<td style="text-align: left;">string</td>
<td>用户姓名</td>
</tr>
<tr>
<td style="text-align: left;">userId</td>
<td style="text-align: left;">string</td>
<td>用户主键id</td>
</tr>
<tr>
<td style="text-align: left;">tenant</td>
<td style="text-align: left;">string</td>
<td>租户id</td>
</tr>
<tr>
<td style="text-align: left;">jti</td>
<td style="text-align: left;">string</td>
<td>jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击</td>
</tr>
<tr>
<td style="text-align: left;">status</td>
<td style="text-align: left;">int</td>
<td>状态码</td>
</tr>
<tr>
<td style="text-align: left;">success</td>
<td style="text-align: left;">boolean</td>
<td>是否成功</td>
</tr>
</tbody>
</table>