Javascript Can';t访问在身份验证后需要身份验证事件的终结点
我正在尝试学习在一个简单的react应用程序上使用环回进行身份验证。 我正在尝试列出Javascript Can';t访问在身份验证后需要身份验证事件的终结点,javascript,authentication,permissions,loopback,Javascript,Authentication,Permissions,Loopback,我正在尝试学习在一个简单的react应用程序上使用环回进行身份验证。 我正在尝试列出Pets,我将其设置为仅在用户通过身份验证时才可访问 pet.json文件中的“我的ACL”部分当前如下所示(这是遵循环回CLI的结果): 为了让用户登录,我目前在客户端有以下代码: handleLogin () { const credentials = { email: 'blah@email.com', password: '123' } return ax
Pets
,我将其设置为仅在用户通过身份验证时才可访问
pet.json
文件中的“我的ACL”部分当前如下所示(这是遵循环回CLI的结果):
为了让用户登录,我目前在客户端有以下代码:
handleLogin () {
const credentials = {
email: 'blah@email.com',
password: '123'
}
return axios.post('http://localhost:3000/api/Users/login', credentials)
.then((result)=> {
console.log('Login result:', result) // result object comes in just fine
const token = result.data.id
localStorage.setItem('jwtToken', token)
return axios.get('http://localhost:3000/api/Pets')
.then( res => {
console.log('res', res)
this.setState({pets: res.data})
})
})
}
我错过什么了吗?是否必须在应用程序中的其他位置设置令牌?用于模型中的身份验证:
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW"
}
您还指定了属性:
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW",
"property": ["create"]
}
对于拒绝每个人都使用:
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
}
请参考此链接:
您需要在标头中传递accessToken:
ACCESS_TOKEN=6Nb2ti5QEXIoDBS5FQGWIz4poRFiBCMMYJbYXSGHWuulOuy0GTEuGx2VCEVvbpBK
# Authorization Header
curl -X GET -H "Authorization: $ACCESS_TOKEN" \
http://localhost:3000/api/widgets
# Query Parameter
curl -X GET http://localhost:3000/api/widgets?access_token=$ACCESS_TOKEN
对我来说,我会拒绝所有人的一切,只允许在pet.json上对某些accesstypes进行身份验证。不幸的是,即使我注销了,这仍然允许我访问它。不过我会去查看链接。我已经用“拒绝”更新了我的答案,请大家检查一下。{“accessType”:“*”,“principalType”:“ROLE”,“principalId”:“$everyone”,“permission”:“DENY”}
ACCESS_TOKEN=6Nb2ti5QEXIoDBS5FQGWIz4poRFiBCMMYJbYXSGHWuulOuy0GTEuGx2VCEVvbpBK
# Authorization Header
curl -X GET -H "Authorization: $ACCESS_TOKEN" \
http://localhost:3000/api/widgets
# Query Parameter
curl -X GET http://localhost:3000/api/widgets?access_token=$ACCESS_TOKEN