Spring OAuth 2.0 Authorization Server (Client Credentials)

Ferhat Aykan
2 min readJun 29, 2020

--

Bir önceki yazımızda grant type olarak password ile token almıştık. Bu yazımızda client credentials grant type kullanarak token alacağız.

Client Credentials grant type’ı kullanım amacı; client’ın kullanıcılar için gerekli dataların hazırlanması veya Resource Server’ların birbirleri arasındaki data alışverişinde gerekli olan token’u almak için kullanılan grant type’dır. Kullanıcı nasıl token alıyorsa client’da kendisi için bir token’a sahip oluyor. Client’a verilen yetki kadar resource’lere erişim sağlayabiliyor.

AuhorizationServerConfiguration class’ına giderek yeni client tanımlaması yapıyoruz. Eğer yeni client tanımlaması istemiyorsanız ilk tanımladığımız client’daki ‘authorizationGrantTypes’ listesine ‘client_credentials’ eklemeniz gerekiyor.

Resimde en altta yeni client bilgisini ekledik. Authorities olarak ‘ROLE_CHECK_TOKEN’ yetkisi verdik. Sonraki yazılarımızda bu yetkiyi kullanacağız.

Uygulamamızı yeniden çalıştırarak Postman üzerinden grant type client credentials olarak token’umuzu alalım.

Daha öncesinde yaptığımız gibi Postman’de Authorization sekmesinde Basic Auth olarak clientId ve clientSecret alanlarını girip Preview Request buton’una tıkladıktan sonra Header’a Base64 şeklinde gerekli olan Authorization parametresini ekliyoruz.

Sonrasında token alabilmek için client bilgilerimizi girip send buton’una tıkladığımızda token’umuzu alacağız.

JWT Debugger ile token içeriğine bakabiliriz.

Client Credentials grant type ile token alma işlemi bu kadar bir sonraki yazımızda Resource Server oluşturmaya başlayacağız.

İyi çalışmalar.

--

--