Kimliği doğrulanmamış kullanıcılar
PUT
Bir api/v1/account/password
uç noktada bir istek yapıyoruz ve kullanıcının parolasını sıfırlamak (güncellemek) istediği hesabı tanımlamak için ilgili hesap e-postasıyla birlikte bir parametreye ihtiyacımız var:
PUT : /api/v1/account/password?email={email@example.com}
Not: As @DougDomeny url sorgu dizesi olarak email geçen yorumunda belirtilen bir güvenlik riski oluşturuyor. GET parametreleri kullanılırken açığa çıkmaz https
(ve bu https
tür istekler için her zaman uygun bir bağlantı kullanmalısınız ) ancak ilgili başka güvenlik riskleri vardır. Bu blog yazısında bu konu hakkında daha fazla bilgi edinebilirsiniz .
E-postayı istek gövdesinden geçirmek, onu bir GET parametresi olarak geçirmek yerine daha güvenli bir alternatif olacaktır:
PUT : /api/v1/account/password
Gövde isteği:
{
"email": "email@example.com"
}
Yanıtın 202
kabul edilen bir yanıtı vardır :
İstek işlenmek üzere kabul edildi, ancak işlem tamamlanmadı. İşleme fiilen gerçekleştiğinde izin verilmeyebileceğinden, talep sonunda yerine getirilebilir veya uygulanmayabilir. Bunun gibi bir zaman uyumsuz işlemden bir durum kodunu yeniden gönderme olanağı yoktur.
Kullanıcı, adresine bir e-posta alacak email@example.com
ve güncelleme isteğinin işlenmesi, e-postadaki bağlantıyla gerçekleştirilen işlemlere bağlı olarak değişecektir.
https://example.com/password-reset?token=1234567890
Bağlantının bu e-postadan açılması, bağlantıdan şifre sıfırlama jetonunu gizli bir giriş alanı için giriş olarak kullanan ön uç uygulamasında bir şifre sıfırlama formuna yönlendirecektir (jeton, bağlantının bir sorgu dizesi olarak bir parçasıdır). Başka bir giriş alanı, kullanıcının yeni bir şifre belirlemesine izin verir. Yeni parolayı onaylamak için ikinci bir giriş, ön uçta doğrulama için kullanılacaktır (yazım hatalarını önlemek için).
Not: E-postada, kullanıcının herhangi bir şifre sıfırlama işlemini başlatmaması durumunda, e-postayı göz ardı edip mevcut şifresiyle uygulamayı normal şekilde kullanmaya devam edebileceğini de belirtebiliriz.
Form yeni şifre ve giriş olarak belirteç ile birlikte gönderildiğinde, şifre sıfırlama işlemi gerçekleşir. Form verileri PUT
tekrar bir istekle gönderilecek, ancak bu sefer jeton dahil olacak ve kaynak şifresini yeni bir değerle değiştireceğiz:
PUT : /api/v1/account/password
Gövde isteği:
{
"token":"1234567890",
"new":"password"
}
Yanıtı olacak 204
hiçbir içerik yanıtı
Sunucu isteği yerine getirdi, ancak bir varlık gövdesi döndürmesi gerekmiyor ve güncellenmiş meta bilgileri döndürmek isteyebilir. Yanıt, mevcutsa istenen varyantla ilişkilendirilmesi GEREKEN, varlık başlıkları biçiminde yeni veya güncellenmiş meta bilgileri İÇEREBİLİR.
Kimliği doğrulanmış kullanıcılar
Parolalarını değiştirmek isteyen kimliği doğrulanmış kullanıcılar için, PUT
istek e-posta olmadan hemen gerçekleştirilebilir (parolasını güncellediğimiz hesap sunucu tarafından bilinir). Böyle bir durumda form iki alan gönderecektir:
PUT : /api/v1/account/password
Gövde isteği:
{
"old":"password",
"new":"password"
}