[英]Laravel auth0 users search returns full list
我有以下代码:
$auth0Api = new Management(env('AuthToken'), env('Auth0Domain'));
$user = $auth0Api->users->search([ "user_id" => "google-oauth2|103122844576645532487"]);
这样做的目的是返回具有给定id
的单个用户
但是,每当我调用它时,我都会得到我的用户的完整列表。
我究竟做错了什么?
根据Auth0 搜索的文档,他们使用Lucene Query Syntax ,这意味着google-oauth2 user with the id of 103122844576645532487
应该如下所示:
identities.provider:"google-oauth2" AND user_id:"103122844576645532487"
您正在使用的 PHP SDK 根据通过withParam
方法提供的键/值在后台为您组装对 API 的请求。 您正在使用的search
方法获取您的参数( ['user_id' => '...']
)并将它们传递给withParam
,然后执行您的请求。
您的search([...])
代码正在转换为以下 API 请求:
/api/v2/users?user_id="google-oauth2|10312284457664553248"
但是,API 不支持api/v2/users
端点上的user_id
参数,并且您的请求正在作为api/v2/users
执行,这是返回所有用户的请求。 这就是您接收所有用户的原因:您没有(正确地)传递搜索查询。
您需要在构建搜索时特别包含q
(查询)参数,并且该参数应等于有效的 Lucene 查询。
$auth0Api->users->search([
'q' => 'identities.provider:"google-oauth2" AND user_id:"103122844576645532487"'
]);
这将搜索身份提供者为google-oauth2
且 user_id 为103122844576645532487
的用户。
您可以在此处阅读api/v2/users
方法的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.