Örneğin, bir kullanıcı giriş yaptığında, şimdi kullanıcının bir forum konusu oluşturmak istediğini söyleyelim, Kullanıcının zaten giriş yaptığını nasıl bileceğim?
Bir düşünün - "Forum Oluştur" API'nıza bu mevcut isteğin kimliği doğrulanmış bir kullanıcıdan geldiğini söyleyen bir el sıkışma olmalıdır. REST API'leri tipik olarak vatansız olduğundan, durum bir yerde kalıcı olmalıdır . REST API'lerini tüketen müşteriniz bu durumu korumaktan sorumludur. Genellikle, kullanıcı oturum açtığından bu yana geçen bazı simge biçimindedir. Simge iyi ise, isteğiniz iyidir.
Amazon AWS'nin nasıl kimlik doğrulaması yaptığını kontrol edin. Bu, bir API'dan diğerine "parayı geçirmenin" mükemmel bir örneğidir.
* Önceki cevabıma bazı pratik yanıtlar eklemeyi düşündüm. Apache Shiro'yu (veya herhangi bir kimlik doğrulama / yetkilendirme kitaplığını) deneyin. Alt satırda, özel kodlamayı deneyin ve kaçının. Favori kitaplığınızı (Apache Shiro, btw kullanıyorum) entegre ettikten sonra aşağıdakileri yapabilirsiniz:
- Şunun gibi bir Giriş / çıkış API'si oluşturun:
/api/v1/login
veapi/v1/logout
- Bu Giriş ve Çıkış API'larında, kullanıcı mağazanızla kimlik doğrulaması yapın
- Sonuç,
JSESSIONID
istemciye (web, mobil, her neyse) geri gönderilen bir jeton (genellikle )
- Bu noktadan sonra, müşteriniz tarafından yapılan sonraki tüm çağrılar bu jetonu içerecektir
- Diyelim ki bir sonraki çağrınız adlı bir API'ya yapılıyor
/api/v1/findUser
- Bu API kodunun yapacağı ilk şey, jetonu kontrol etmektir ("bu kullanıcı doğrulandı mı?")
- Yanıt HAYIR olarak gelirse, istemciye bir HTTP 401 Durumu atarsınız. Bırakın halledelim.
- Yanıt EVET ise, istenen Kullanıcıyı iade etmeye devam edin
Bu kadar. Bu yardımcı olur umarım.