是否可以将JWT身份验证添加到硬编码的前端用户名和密码身份验证中?

时间:2017-04-04 16:07:28

标签: java html authentication token jwt

我不熟悉编码,但我已经在我的网站上编写了以下用户名和密码验证。

<table>
            <form name="login">
            <tr><th colspan="2">Login</th></tr>
            <tr><td>Username:</td>
            <td><input type="text" name="username"/></td></tr>
            <tr><td>Password:</td>
            <td><input type="password" name="password"/></td></tr>
            <td colspan="2"><center><input type="button" onclick="check(this.form)" value="Submit"/>
            <input type="reset" value="Reset"/></center></td>
        </form>
    </table>
    <script>
        function check(form)
        {
            if(form.username.value == "user1" && form.password.value == "user1")
            {
                location="index.html"
            }
                else
                {
                    alert("Incorrect credentials.")
                }
        }
    </script>

是否可以为此添加JWT身份验证?

1 个答案:

答案 0 :(得分:1)

你应该不要那样

&#34;硬编码&#34;源代码中的凭据通常是个坏主意。每个可以查看已提供的页面来源(以及可能是所有人)的人都可以查看您的凭据!

使用令牌实现这种检查毫无意义,JWT身份验证流程比简单的字符串比较要复杂得多。首先,您必须在身份验证服务中请求令牌,以某种方式将其存储在客户端(例如本地存储或cookie),并使用头中的每个(HTTPS)请求重新发送它。令牌的有效性也受到时间限制,因此即使在&#34;硬编码&#34;会工作(赢了),它不会永远工作,所以刷新策略也是必须处理的事情。

看看一些JWT流程解释,可能是herehere。这应该会让事情更清楚。