繁体   English   中英

Laravel auth0 用户搜索返回完整列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM