Spring OAuth 2.0 Refresh Token
Bir önceki yazımızda Spring OAuth 2.0 ile Birden çok Resource Server arasındaki iletişimin nasıl olduğundan bahsetmiştik. Bu yazımızda refresh token’dan bahsedeceğiz
Bazen token’umuz expire olabilir. Kullanıcı client aracılığıyla Resource Server’dan istediği datayı çekmeye çalışırken geçersiz token hatası alır. Client bu hatayı handle edip Authorization Server’a ilk kullanıcı login olduğunda aldığı refresh token bilgisiyle yeni token talebinde bulunur. Bu şekilde yeniden erişim sağlayabilir.
Projemizde refresh token’u kullanmak için ‘auth-service’mizde AuthorizationServerConfiguration class’ına girerek kullanıcı hangi client ile login oluyor veya token alıyorsa grant type’ına ‘refresh_token’ ekliyoruz.
Örnek için client id’si clientY olan client’ımıza ‘refresh_token’ ekledim.
‘auth-service’mizi yeniden çalıştırıp token almaya çalışalım.
Bu şekilde refresh token’uda almış olduk.
Refresh token kullanarak expire olmuş token’umuzu yenilemek için refresh token’u kullanalım.
İlk olarak header’a client id ve client secret’imizi Authorization olarak Base64 şeklinde ekleyelim.
Daha sonrasında token’umuzu yenilemek için grant_type’ı refresh_token olarak yeni token talebinde bulunacağız. Burada refresh_token olarak verdiğimiz token ilk password ile token aldığımızdaki refresh_token’dur.
Refresh token’u nasıl alıcağımızı ve expire olmuş token’u nasıl yenileceğimiz konusuna değindik. Bu yazımız da bu kadar.
İyi çalışmalar.