2016-08-16 2 views
0

Я внедрил пользовательскую регистрацию, подпись и вывеску, и я пытаюсь сбросить пароль, но все, что я нашел, - это как отправить пароль для сброса пароля пользователю и ничего после сброса пароля.Auth0 пользовательский пароль для сброса

PS: Я не хочу использовать auth0 блокировку или auth0 виджет

ответ

2

Если вы хотите обновить пароль учетной пользователя с помощью кода, вы можете сделать это с помощью Management API v2.

Вам нужно будет «обновление» пользователь с помощью PATCH глагола этого ресурса:

https://{account-domain}/api/v2/users/{user-id} 

и тела, как это:

{ 
    "password" : "new_password", 
    "connection": "the_connection_to_use" 
} 

Вам нужен маркер носителя для этого , которые вы можете создать на странице документации API-интерфейса управления API.

Эквивалентная команда CURL (новые строки, добавленные для удобства чтения):

curl -H "Authorization: Bearer {your access token}" 
    -X PATCH 
    -H "Content-Type: application/json" 
    -d '{"password":"new_password","connection":"the_connection_to_use"}' 
    https://{account domain}/api/v2/users/user-id 

Имейте в виду, что, если конечный пользователь будет запускать это вы должны также реализовать механизм проверки подлинности пользователя, например, имея сначала войдите в систему (если он или она помнит старый пароль) или отправив электронное письмо со ссылкой для начала процесса.

+0

Эта работа отлично подходит для входа пользователя в систему; но как сбросить пароль для пользователя, который забыл пароль – Ayoub

+0

Две разные вещи. С одной стороны у вас есть «как изменить пароль пользователя из приложения». Вы можете сделать это с указанным API. Я, хотя ваш вопрос касался этого. С другой стороны, у вас есть «как я могу гарантировать, что пользователь, сбросив пароль, является законным». Auth0 управляет этим с помощью «билета», URL-адреса, отправленного по электронной почте, который позволит пользователю сменить пароль при следующем URL-адресе. Поскольку только те, у кого есть доступ к электронной почте, будут знать этот URL, вы можете быть уверены, что пользователь действительно владеет адресом электронной почты. Я не уверен, какую часть вы хотите изменить. –

0

Для сброса забытого пароля вы можете использовать метод changePassword, доступный в библиотеке Auth0, путем передачи только идентификатора электронной почты.

Следующий фрагмент - это способ сброса пароля (пользовательский) с использованием auth0-angle.

function reset(username){ 
    angularAuth0.changePassword({ 
     connection: 'Username-Password-Authentication', 
     responseType: 'token', 
     email: username, 
    }, callback); 
} 
Смежные вопросы