如何解决laravel 7 sanctum Hash::check 总是返回 false
我正在尝试使用 sanctum 构建 laravel auth api,我按照文档进行操作,但收到此错误:
const LatestOrders = ({ className,...rest }) => {
const classes = useStyles();
const [orders] = useState(data);
return (
<Card
className={clsx(classes.root,className)}
{...rest}
>
<CardHeader title="Latest Orders" />
<Divider />
<PerfectScrollbar>
<Box minWidth={800}>
<Table>
<TableHead>
<TableRow>
<TableCell>
Order Ref
</TableCell>
<TableCell>
Customer
</TableCell>
<TableCell sortDirection="desc">
<Tooltip
enterDelay={300}
title="Sort"
>
<TableSortLabel
active
direction="desc"
>
Date
</TableSortLabel>
</Tooltip>
</TableCell>
<TableCell>
Status
</TableCell>
</TableRow>
</TableHead>
<TableBody>
{orders.map((order) => (
<TableRow
hover
key={order.id}
>
<TableCell>
{order.ref}
</TableCell>
<TableCell>
{order.customer.name}
</TableCell>
<TableCell>
{moment(order.createdAt).format('DD/MM/YYYY')}
</TableCell>
<TableCell>
<Chip
color="primary"
label={order.status}
size="small"
/>
</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</Box>
</PerfectScrollbar>
<Box
display="flex"
justifyContent="flex-end"
p={2}
>
<Button
color="primary"
endIcon={<ArrowRightIcon />}
size="small"
variant="text"
>
View all
</Button>
</Box>
</Card>
);
};
LatestOrders.propTypes = {
className: PropTypes.string
};
}
这是控制器:
{
"message": "The given data was invalid.","errors": {
"data": [
"The provided credentials are incorrect."
]
}
我找到了这个解决方案,但即使密码错误,它也会返回“true”:
Laravel Hash::check() always return false
解决方法
尝试这种方式,使用 attempt
$request->validate([
'email' => 'required|email|string','password' => 'required|string','device_name' => 'required',]);
$credentials = request(['email','password']);
if(!Auth::attempt($credentials))
return response()->json([
'message' => 'Unauthorized'
],401);
$user = $request->user();
$token = $user->createToken($request->device_name)->plainTextToken;
//return....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。