我想使用strapi检索与特定用户关联的角色,但我不能。我尝试了此查询,但仍然没有得到角色。
有人能帮帮我吗?谢谢
mspsb9vt1#
我的项目也有同样的问题。
"role": { "id": "string", "name": "string", "description": "string", "type": "string", "permissions": [ "string" ], "users": [ "string" ], "created_by": "string", "updated_by": "string" }
请求的报头必须包含:
"Authorization": `Bearer ${token}`
最后的代码看起来像这样:
const userData = async() => { const response = await fetch('http://localhost:1337/api/users/me', headers: { authorization: `Bearer ${JsonWebToken}`, }) const res = await response.json() console.log(res)
}
Const endPoint = "http://localhost:1337/graphql"
你必须安装graphql虽然.通过让令牌在设置〉角色〉用户权限〉用户〉我中访问我的数据您将获得响应。我的代码如下所示我使用react,graphql-request
import { GraphQLClient, gql } from "graphql-request" const graphQLClient = new GraphQLClient(endPoint, { headers: { authorization: `Bearer ${WebToken}`, }, }) const query = gql` { me { role { name } } } ` const data = await graphQLClient.request(query) console.log(JSON.stringify(data))
结果是
{"me":{"role":{"name":"client"}}}
kiayqfof2#
最后,没有解决方案,因为populate不适用于用户权限。但我在这篇文章中找到了一个替代解决方案:https://github.com/strapi/strapi/issues/11957
gzszwxb43#
同时,您可以简单地为users-permissions用户填充角色。这两种方法都有效:/api/users/:id?populate=role和/api/users/me?populate=role但是,您需要向用户角色授予以下权限:管理面板-〉设置-〉用户和权限-〉角色-〉您的用户角色-〉用户权限-〉角色-〉查找(注意:findOne将不起作用!)
users-permissions
/api/users/:id?populate=role
/api/users/me?populate=role
3条答案
按热度按时间mspsb9vt1#
我的项目也有同样的问题。
请求的报头必须包含:
最后的代码看起来像这样:
}
你必须安装graphql虽然.
通过让令牌在设置〉角色〉用户权限〉用户〉我中访问我的数据
您将获得响应。
我的代码如下所示我使用react,graphql-request
结果是
kiayqfof2#
最后,没有解决方案,因为populate不适用于用户权限。但我在这篇文章中找到了一个替代解决方案:
https://github.com/strapi/strapi/issues/11957
gzszwxb43#
同时,您可以简单地为
users-permissions
用户填充角色。这两种方法都有效:
/api/users/:id?populate=role
和/api/users/me?populate=role
但是,您需要向用户角色授予以下权限:管理面板-〉设置-〉用户和权限-〉角色-〉您的用户角色-〉用户权限-〉角色-〉查找(注意:findOne将不起作用!)