簡體   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