REST felsefesinin büyük bir kısmı, API'nizi tasarlarken HTTP protokolünün mümkün olduğunca çok standart özelliğinden yararlanmaktır. Bu felsefeyi kimlik doğrulama, istemci ve sunucuya uygulamak API'da standart HTTP kimlik doğrulama özelliklerini kullanır.
Giriş ekranları insan kullanıcı kullanım durumları için mükemmeldir: bir giriş ekranını ziyaret edin, kullanıcı / şifre sağlayın, bir çerez ayarlayın, müşteri bu çerezleri gelecekteki tüm isteklerde sağlar. Web tarayıcıları kullanan kişilerin her bir HTTP isteğiyle bir kullanıcı kimliği ve şifre sağlaması beklenemez.
Ancak bir REST API için, bir giriş ekranı ve oturum çerezleri kesinlikle gerekli değildir, çünkü her istek bir insan kullanıcıyı etkilemeden kimlik bilgilerini içerebilir; ve müşteri herhangi bir zamanda işbirliği yapmazsa, 401
"yetkisiz" bir yanıt verilebilir. RFC 2617 , HTTP'deki kimlik doğrulama desteğini açıklar.
TLS (HTTPS) de bir seçenek olabilir ve diğer tarafın ortak anahtarını doğrulayarak her istekte istemcinin sunucuya doğrulanmasına (veya tersi) izin verir. Ayrıca bu, kanalı bonus olarak korur. Tabii ki, bunu yapmak için iletişimden önce bir anahtar çifti değişimi gereklidir. (Bu, özellikle kullanıcının TLS ile tanımlanması / kimliğinin doğrulanmasıyla ilgilidir. TLS / Diffie-Hellman kullanarak kanalı güven altına almak, kullanıcıyı ortak anahtarıyla tanımlamasanız bile her zaman iyi bir fikirdir.)
Örnek: Bir OAuth jetonunun tam oturum açma kimlik bilgileriniz olduğunu varsayalım. İstemci OAuth jetonuna sahip olduğunda, her bir istekle standart HTTP kimlik doğrulamasında kullanıcı kimliği olarak sağlanabilir. Sunucu ilk kullanımda belirteci doğrulayabilir ve denetimin sonucunu her istekle yenilenen bir yaşam süresi ile önbelleğe alabilir. Kimlik doğrulaması gerektiren herhangi bir istek 401
sağlanmazsa geri döner .