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