测试Stormpath时遇到未发现的预期CSRF令牌错误

时间:2016-02-01 15:11:14

标签: spring-security spring-boot stormpath

我在这里关注Stormpath的例子: http://docs.stormpath.com/java/spring-boot-web/http-request-authentication.html

到目前为止,其他一切都在运作。

但是当我尝试发出命令时:

curl -X POST --data 'grant_type=password&username=ACCOUNT_USERNAME&password=ACCOUNT_PASSWORD' \
     -H 'Origin: http://localhost:8080' http://localhost:8080/oauth/token

我收到此错误:

<body>
<div class="container-fluid">
    <div class="row">
        <div class="box col-md-6 col-md-offset-3">
            <div class="stormpath-header">
                <img src="https://stormpath.com/images/template/logo-nav.png" />
            </div>
            <div class="logo">
                <h1>403</h1>
            </div>
            <p class="lead text-muted">Expected CSRF token not found. Has your session expired?</p>
            <a href="/" class="btn btn-primary">Go Home</a>
        </div>
    </div>
</div>
</body>

关于如何解决这个问题的任何线索?

1 个答案:

答案 0 :(得分:0)

你正在使用哪个Stormpath Spring Boot Starter?

stormpath-default-spring-boot-starter(和其他人)包括Spring Security。

此时,Spring Security和/oauth/token与Stormpath集成不兼容。

好消息!我们本周将发布新的令牌管理集成。它将发布1.0.RC8.3。您可以跟踪其状态here。它通过Spring堆栈完美集成,包括Spring Security。它还提供访问和刷新令牌,并支持为新的访问令牌交换刷新令牌。

如果您希望/oauth/token端点在此版本之前工作,您可以使用其他Stormpath Starter,也可以禁用Spring Security。

对于第一种方法,您可以使用stormpath-spring-boot-starter

对于第二种方法,请将以下行添加到application.properties文件中:

stormpath.spring.security.enabled = false security.basic.enabled = false