问题是,我总是收到一个没有任何有效负载的400响应代码。甚至graphql传递了代码200和带有错误块的有效负载。GraphiQl工作正常,这一事实告诉我设置和模式是正确的。所以…我卡住了。也许,有什么想法,去哪里看看?
我不认为它失败是因为cors本身。我的应用程序在 DRF 下运行良好。我决定尝试新的技术并使用GQL覆盖应用程序。
我的起源:http://127.0.0.1:8080
我的Apollo客户:
const cache = new InMemoryCache();
const link = new HttpLink({
uri: "http://127.0.0.1:8000/graphql/",
credentials: "include", // cookies enabled
headers: {
"X-Csrftoken": getTokenCsrf(),
"Content-Type": "application/json"
},
fetchOptions: {
mode: "cors"
}
});
const client = new ApolloClient({
cache,
link
});
这是我的请求(vars值通过状态来自表单):
const AUTH_QUERY = gql`
mutation TokenAuth($username: String!, $password: String!) {
tokenAuth(username: $username, password: $password) {
token
}
}
`;
我使用react-apollo-的钩子来执行查询:
const [sendCreds, loading, error] = useMutation(AUTH_QUERY);
const handleSubmit = e => {
sendCreds({
variables: { username: state.username, password: state.password }
});
};
我的架构(根据文档):
class Mutation(graphene.ObjectType):
token_auth = graphql_jwt.ObtainJSONWebToken.Field()
verify_token = graphql_jwt.Verify.Field()
refresh_token = graphql_jwt.Refresh.Field()
schema = graphene.Schema(query=Query, mutation=Mutation)
从 GraphiQL 处理此查询会给我一个有效的响应。GraphiQL 在浏览器的另一个选项卡上运行 http://127.0.0.1:8000/graphql。
查询:
mutation TokenAuth($username: String!, $password: String!) {
tokenAuth(username: $username, password: $password) {
token
}}
变量:
{"username": "qwerty", "password": "qwerty"}
响应:
{
"data": {
"tokenAuth": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6InF3ZXJ0eSIsImV4cCI6MTU2NjMwMTkwNiwib3JpZ0lhdCI6MTU2NjMwMTYwNn0.NzgecEfFcnsrudcgrlZyBCC1rutoVJFciUI-ugFq9Fg"
}}}
于是,问题就解决了。别忘了,当你按下没有明确定义类型的按钮时,会使用“提交”类型。
<form >
<div className="input-field">
<input type="text" id="username" />
<input type="password" id="password" />
<button
type="button" // that string solved my problem.
onClick={handleSubmit}
>
{msg}
</button>
</div>
</form>
当您按下提交类型按钮时,将调用render,响应将尝试将内容分派给未安装的组件。但如果您的按钮类型为“button”,则请求工作正常。我希望我的折磨能为某人节省时间。
问题内容: 问题: 我们有一个基于Spring MVC的RESTful API,其中包含敏感信息。该API应该是安全的,但是不希望随每个请求一起发送用户凭证(用户/密码组合)。根据REST准则(和内部业务要求),服务器必须保持无状态。该API将由另一台服务器以mashup方式使用。 要求: 客户端使用凭据向(不受保护的URL)发出请求;服务器返回一个安全令牌,该令牌包含足够的信息供服务器验证未来的
我只是在两个问题中输入,然后程序似乎继续没有问题。但是,我需要这些代码通过cron任务实现自动化,所以我不希望它暂停程序来问我这两个问题。是不是有什么东西我不提供给它,这样它就不会问这个了?我需要做些什么来阻止它的追问?希望有人有一些想法。多谢了。
嗨,我正在通过axios尝试reactjs POST请求,但出现错误,我查看了所有文档,但错误未得到解决。 这是我的错误: 未捕获(promise中)错误:请求在XMLHttpRequest的结算(eval at(bundle.js:4621),:15:15)处的createError(eval at(bundle.js:4615),:18:12)处失败,状态代码为400。手工装载(在(捆js:4
我已经创建了一个简单的spring boot应用程序,我已经使用KeyCloak对其进行了身份验证。当我调用服务(http://localhost:8080/table1data)时,它会将我重定向到keycloak登录页面,在该页面中插入我的领域用户名和密码,然后返回数据。现在到现在一切都很好。 我想要另一个场景。如果我的用户已经拥有相应领域的有效令牌,并且他希望使用正确的令牌访问相同的URL,
经过身份验证的请求可用于获取授权代码令牌,以访问系统中的所有者资源。 对授权端点发出的请求会导致用户身份验证,并在向授权端点发送请求时提供明确的凭据。 经过身份验证的请求包含以下参数 - response_type - 这是一个必需参数,用于将值设置为'code',用于请求授权代码。 如果授权请求中没有'response_ type'参数,则授权服务器返回错误响应。 由于无效或不匹配的重定向URI
我可以在https://protocality-website/graphQL/gql上访问我们的graphQL,如果运行以下查询,它将返回预期的结果: 现在,我尝试将其应用于jmeter 我在我的线程组中创建了一个HTTP请求,协议:https,服务器名:protectary-website,方法:GET,路径:/graphql/gql 我创建HTTP头管理器,并包含所需的承载令牌和内容类型头