Spring boot Spring oauth2 AuthorizationServer不重定向
我使用Spring Security和Oauth2设置了一个授权服务。 在我尝试自定义登录页面之前,一切都很顺利。 如果我在自定义登录页面登录,它会重定向回登录页面,而不是回调url 获取/登录->发布/登录->获取/登录 SecurityConfig.java AuthorizationServerConfig.java login.htmlSpring boot Spring oauth2 AuthorizationServer不重定向,spring-boot,spring-security,oauth,spring-security-oauth2,Spring Boot,Spring Security,Oauth,Spring Security Oauth2,我使用Spring Security和Oauth2设置了一个授权服务。 在我尝试自定义登录页面之前,一切都很顺利。 如果我在自定义登录页面登录,它会重定向回登录页面,而不是回调url 获取/登录->发布/登录->获取/登录 SecurityConfig.java AuthorizationServerConfig.java login.html 您必须通过自定义登录页面发送CSRF令牌,请参阅: 9.21.1表单登录Java配置 [……] <c:url value="/login" var
您必须通过自定义登录页面发送CSRF令牌,请参阅: 9.21.1表单登录Java配置 [……]
<c:url value="/login" var="loginUrl"/>
<form action="${loginUrl}" method="post"> 1
<c:if test="${param.error != null}"> 2
<p>
Invalid username and password.
</p>
</c:if>
<c:if test="${param.logout != null}"> 3
<p>
You have been logged out.
</p>
</c:if>
<p>
<label for="username">Username</label>
<input type="text" id="username" name="username"/> 4
</p>
<p>
<label for="password">Password</label>
<input type="password" id="password" name="password"/> 5
</p>
<input type="hidden" 6
name="${_csrf.parameterName}"
value="${_csrf.token}"/>
<button type="submit" class="btn">Log in</button>
</form>
使用JSP为当前配置实现的登录页面示例如下所示:
[……]
<c:url value="/login" var="loginUrl"/>
<form action="${loginUrl}" method="post"> 1
<c:if test="${param.error != null}"> 2
<p>
Invalid username and password.
</p>
</c:if>
<c:if test="${param.logout != null}"> 3
<p>
You have been logged out.
</p>
</c:if>
<p>
<label for="username">Username</label>
<input type="text" id="username" name="username"/> 4
</p>
<p>
<label for="password">Password</label>
<input type="password" id="password" name="password"/> 5
</p>
<input type="hidden" 6
name="${_csrf.parameterName}"
value="${_csrf.token}"/>
<button type="submit" class="btn">Log in</button>
</form>
1-发送到/login URL的帖子将尝试对用户进行身份验证
2-如果存在查询参数错误,则验证已尝试但失败
3-如果存在查询参数注销,则表示用户已成功注销
4-用户名必须作为名为username的HTTP参数存在
5-密码必须作为名为password的HTTP参数存在
6-我们必须阅读“包含CSRF令牌”一节,以了解更多信息,请阅读参考文件第5.1.1节“跨站点请求伪造CSRF”一节
你寄CSRF代币了吗?那是个错误。我忘记带代币了!谢谢你@dur
<form action="/login" method="POST">
<div class="column">
<div class="title">Anmelden</div>
<div th:if="${param.error}" class="alert alert-error">
Invalid username and password.
</div>
<div th:if="${param.logout}" class="alert alert-success">
You have been logged out.
</div>
<input id="username" name="username" type="email" class="login input" placeholder="E-Mail Adresse"/>
<input id="password" name="password" type="password" class="login input" placeholder="Passwort"/>
<br>
<p style="text-align: center; margin-top: 20px;"><a href="/password-forgotten">Passwort vergessen?</a></p>
<button style=" margin-top: 20px; margin-bottom: 20px" type="submit" class="button cancel login">Anmelden</button>
</div>
</form>
<c:url value="/login" var="loginUrl"/>
<form action="${loginUrl}" method="post"> 1
<c:if test="${param.error != null}"> 2
<p>
Invalid username and password.
</p>
</c:if>
<c:if test="${param.logout != null}"> 3
<p>
You have been logged out.
</p>
</c:if>
<p>
<label for="username">Username</label>
<input type="text" id="username" name="username"/> 4
</p>
<p>
<label for="password">Password</label>
<input type="password" id="password" name="password"/> 5
</p>
<input type="hidden" 6
name="${_csrf.parameterName}"
value="${_csrf.token}"/>
<button type="submit" class="btn">Log in</button>
</form>