Ana içeriğe geç

Token Alma Yöntemleri

ipucu

Token uç noktalarının formal API referansı için Gateway Token Uç Noktaları sayfasını ziyaret edebilirsiniz. Token'lara özel claim eklemek için bkz. Kimlik Bilgisi Metadata.

Token Alma Yöntemleri

1. "Bu Poliçe'den Yönet" Seçeneği ile Token Alma

bilgi

Authentication politikasının yönetim seviyesine göre client_id ve client_secret değerlerini almanın yolları aşağıdaki gibidir:

  • Authentication Politikası API Proxy'e Eklendiyse: client_id ve client_secret değerlerini API Proxy'nin Overview bölümünde bulunan "Show Proxy Key" kısmından alınır.
  • Authentication Politikası Proxy Group'a Eklendiyse: client_id ve client_secret değerlerini API Proxy Group'un Overview bölümünde bulunan "Show Proxy Key" kısmından alınır.
  • Authentication Politikası Policy Group'a Eklendiyse: client_id ve client_secret değerlerini ilgili Policy Group'un Definition bölümünde bulunan "Show Proxy Key" kısmından alınır.

1.1 JWT ile Token Alma

Oluşturulan JWT Politikasında "Bu Poliçe'den Yönet (Manage From This Policy)" seçeneği seçilmiş ise bu yöntemle token alınır.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/auth/jwt.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile ve URL parametresi kullanarak gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız)

  • HTTP Metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir.
Anahtar AdıPolitika Tanımlanırken "client_credentials" Seçildiyse Girilecek DeğerPolitika Tanımlanırken "password" Seçildiyse Girilecek Değer
grant_typeclient_credentialspassword
client_idAPI Anahtarı alanından alınan Genel Anahtar değeriAPI Anahtarı alanından alınan Genel Anahtar değeri
client_secretAPI Anahtarı alanından alınan Gizli Anahtar değeri"-" (tire işareti)
usernameBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin kullanıcı adı
passwordBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin şifresi

Token Yenileme

Token Ölümsüz Olsun seçeneği kapatılıp Token Yenileme Olsun seçeneği açılır ise belli bir süre sonra geçersiz hale gelecek olan token'lar, Yenilenmiş Token Geçerlilik Süresi alanında belirtilen süre içerisinde yenilenebilir.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/auth/jwt.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile URL parametresi üzerinden gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız).

  • HTTP Metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir.
Anahtar AdıAnahtar Değeri
grant_typerefresh_token
client_idAPI Anahtarı alanından alınan Genel Anahtar değeri
client_secret"-" (tire işareti)
refresh_tokenDaha önce alınmış olan token'daki "refresh_token" anahtarındaki değer

Grant_type client_credentials ise

Varsayılan değerleri ile bir JWT Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

JWT Client Credentials Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

JWT Token ile İstek Gönderme

Grant_type password ise

Grant Type değeri Password olan bir JWT Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

JWT Password Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

JWT Password Token ile İstek Gönderme

Grant_type refresh_token ise

Yenileme seçeneği açık olacak şekilde bir JWT Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

JWT Refresh Token İsteği

Token yenileme yapmak için, ilk istekte gelen cevapta bulunan "refresh_token" alanındaki değeri alın ve aşağıdaki gibi hazırladığınız mesajda refresh_token anahtarına değer olarak verin.

Gelecek olan cevap içerisindeki "access_token" alanındaki değer yenilenmiş token değeriniz olacaktır.

Apinizer Test Konsolu üzerinden token yenilemek için gönderilen istek örneğine ait görsele aşağıda yer verilmiştir:

JWT Refresh Token Yenileme

1.2 OAuth2 ile Token Alma

Oluşturulan OAuth2 Politikasında "Bu Poliçe'den Yönet (Manage From This Policy)" seçeneği seçilmiş ise bu yöntemle token alınır.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/auth/token.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile ve URL parametresi kullanarak gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız)

  • HTTP metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir.
Anahtar AdıPolitika Tanımlanırken "client_credentials" Seçildiyse Girilecek DeğerPolitika Tanımlanırken "password" Seçildiyse Girilecek Değer
grant_typeclient_credentialspassword
client_idAPI Anahtarı alanından alınan Genel Anahtar değeriAPI Anahtarı alanından alınan Genel Anahtar değeri
client_secretAPI Anahtarı alanından alınan Gizli Anahtar değeri"-" (tire işareti)
usernameBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin kullanıcı adı
passwordBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin şifresi

Token Yenileme

Token Ölümsüz Olsun seçeneği kapatılıp Token Yenileme Olsun seçeneği açılır ise belli bir süre sonra geçersiz hale gelecek olan token'lar, Yenilenmiş Token Geçerlilik Süresi alanında belirtilen süre içerisinde yenilenebilir.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/auth/token.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile URL parametresi üzerinden gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız).

  • HTTP metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir
Anahtar AdıAnahtar Değeri
grant_typerefresh_token
client_idAPI Anahtarı alanından alınan Genel Anahtar değeri
client_secretAPI Anahtarı alanından alınan Gizli Anahtar değeri
refresh_tokenDaha önce alınmış olan token'daki "refresh_token" anahtarındaki değer

Grant_type client_credentials ise

Varsayılan değerleri ile bir OAuth2 Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

OAuth2 Client Credentials Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

OAuth2 Token ile İstek Gönderme

Grant_type password ise

Grant Type değeri Password olan bir OAuth2 Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

OAuth2 Password Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

OAuth2 Password Token ile İstek Gönderme

GrantType: Refresh Token

Yenileme seçeneği açık olacak şekilde bir OAuth2 Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

OAuth2 Refresh Token İsteği

Token yenileme yapmak için, ilk istekte gelen cevapta bulunan "refresh_token" alanındaki değeri alın ve aşağıdaki gibi hazırladığınız mesajda refresh_token anahtarına değer olarak verin.

Gelecek olan cevap içerisindeki "access_token" alanındaki değer yenilenmiş token değeriniz olacaktır.

Apinizer Test Konsolu üzerinden token yenilemek için gönderilen istek örneğine ait görsele aşağıda yer verilmiştir:

OAuth2 Refresh Token Yenileme

1.3 Scope ile Token Alma

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/auth/jwt.
  • HTTP Metodu POST olmalıdır. Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir
Anahtar AdıPolitika Tanımlanırken "client_credentials" Seçildiyse Girilecek DeğerPolitika Tanımlanırken "password" Seçildiyse Girilecek Değer
grant_typeclient_credentialspassword
client_idAPI Anahtarı alanından alınan Genel Anahtar değeriAPI Anahtarı alanından alınan Genel Anahtar değeri
client_secretAPI Anahtarı alanından alınan Gizli Anahtar değeri"-" (tire işareti)
usernameBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin kullanıcı adı
passwordBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin şifresi
scopeKullanıcıya tanımlanan rol ismiKullanıcıya tanımlanan rol ismi

Kullanıcıya Rol tanımlama

Kullanıcıya rol tanımlaması için aşağıdaki gibi roles kısmından yeni bir rol eklenip kullanıcıya API Proxy ACL kısmından o Proxy eklenmelidir.

Scope ile Rol Tanımlama

Grant_type client_credentials ise

Varsayılan değerleri ile bir JWT Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

Scope ile Client Credentials Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

Scope ile Token Kullanımı

Grant_type password ise

Grant Type değeri Password olan bir JWT Kimlik Doğrulama politikası ekleyin. Bu işlemi yaparken API Anahtarı bilgilerinizi kullanılmak üzere bir yere kopyalayın.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

Scope ile Password Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

Scope ile Password Token Kullanımı Scope ile Password Token Kullanımı 2

Scope'un Yanıtta Dönmesi ve Davranışı

Çözümlenen scope, alınan token ile birlikte yanıt gövdesinde scope alanı olarak geri döner. Bu davranış hem bu sayfadaki "Bu Poliçe'den Yönet" akışında hem de aşağıdaki "ACL'den Yönet" akışında aynı şekilde çalışır. JWT alındığında scope ayrıca token'ın içine de gömülür.

Yanıtta hangi scope'ların döneceği, talep edilen scope'ların tanımlı scope'larla eşleşmesine ve istekte scope bulunup bulunmadığına göre belirlenir. Bu davranışı, yanıt alanı isimlerini ve scope alanının yanıta dahil edilip edilmeyeceğini Token Yönetim Ayarları sayfasından yapılandırabilirsiniz.

not

Scope'un dolu dönebilmesi için ilgili kullanıcıya veya kimlik bilgisine rol (scope) tanımlı olması gerekir. Rol tanımlı değilse scope boş döner.

2. "ACL'den Yönet" Seçeneği ile Token Alma

ipucu

Scope ile token alma bu yöntemde de aynı şekilde çalışır: istek gövdesine scope anahtarı eklenir ve çözümlenen scope, token ile birlikte yanıtta döner. Adım adım anlatım ve örnekler için Scope ile Token Alma bölümüne, yanıt davranışını (uyumsuzluk, scope alanının yanıta dahil edilmesi vb.) yapılandırmak için Token Yönetim Ayarları sayfasına bakabilirsiniz.

2.1 JWT ile Token Alma

Oluşturulan JWT Politikasında "ACL'den Yönet (Manage From ACL)" seçeneği seçilmiş ise bu yöntemle token alınır.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/credential/jwt.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile ve URL parametresi kullanarak gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız)

  • HTTP Metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir.
Anahtar AdıPolitika Tanımlanırken "client_credentials" Seçildiyse Girilecek DeğerPolitika Tanımlanırken "password" Seçildiyse Girilecek Değer
grant_typeclient_credentialspassword
client_idCredentials'a ait Client Id değeriCredentials'a ait Client Id değeri
client_secretCredentials'a ait Client Secret değeriCredentials'a ait Client Secret değeri
usernameBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin kullanıcı adı
passwordBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin şifresi

Token Yenileme

Token Ölümsüz Olsun seçeneği kapatılıp Token Yenileme Olsun seçeneği açılır ise belli bir süre sonra geçersiz hale gelecek olan token'lar, Yenilenmiş Token Geçerlilik Süresi alanında belirtilen süre içerisinde yenilenebilir.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/credential/jwt.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile URL parametresi üzerinden gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız).

  • HTTP Metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir.
Anahtar adıAnahtar Değeri
grant_typerefresh_token
client_idCredentials'a ait Client Id değeri
client_secretCredentials'a ait Client Secret değeri
refresh_tokenDaha önce alınmış olan token'daki "refresh_token" anahtarındaki değer

Grant_type client_credentials ise

ACL'den Yönet seçeneği ile bir JWT Kimlik Doğrulama politikası ekleyin. Credential ekranından Token Settings paneline gelerek varsayılan değerleri kaydedin.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

ACL JWT Client Credentials Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

ACL JWT Token ile İstek Gönderme

Grant_type password ise

ACL'den Yönet seçeneği ile bir JWT Kimlik Doğrulama politikası ekleyin. Credential ekranından Token Settings paneline gelerek Grant Type değerini Password olarak seçin ve kaydedin.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

ACL JWT Password Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

ACL JWT Password Token ile İstek Gönderme

Grant_type refresh_token ise

ACL'den Yönet seçeneği ile bir JWT Kimlik Doğrulama politikası ekleyin. Credential ekranından Token Settings paneline gelerek Token Yenileme seçeneğini aktifleştirin ve kaydedin.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

ACL JWT Refresh Token İsteği

Token yenileme yapmak için, ilk istekte gelen cevapta bulunan "refresh_token" alanındaki değeri alın ve aşağıdaki gibi hazırladığınız mesajda refresh_token anahtarına değer olarak verin.

Gelecek olan cevap içerisindeki "access_token" alanındaki değer yenilenmiş token değeriniz olacaktır.

Apinizer Test Konsolu üzerinden token yenilemek için gönderilen istek örneğine ait görsele aşağıda yer verilmiştir:

ACL JWT Refresh Token Yenileme

2.2 OAuth2 ile Token Alma

Oluşturulan OAuth2 Politikasında "ACL'den Yönet (Manage From ACL)" seçeneği seçilmiş ise bu yöntemle token alınır.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/credential/token.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile ve URL parametresi kullanarak gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız)

  • HTTP metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir.
Anahtar AdıPolitika Tanımlanırken "client_credentials" Seçildiyse Girilecek DeğerPolitika Tanımlanırken "password" Seçildiyse Girilecek Değer
grant_typeclient_credentialspassword
client_idCredentials'a ait Client Id değeriCredentials'a ait Client Id değeri
client_secretCredentials'a ait Client Secret değeriCredentials'a ait Client Secret değeri
usernameBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin kullanıcı adı
passwordBu alan eklenmezSeçtiğiniz doğrulama havuzundaki kayıtlardan birinin şifresi

Token Yenileme

Token Ölümsüz Olsun seçeneği kapatılıp Token Yenileme Olsun seçeneği açılır ise belli bir süre sonra geçersiz hale gelecek olan token'lar, Yenilenmiş Token Geçerlilik Süresi alanında belirtilen süre içerisinde yenilenebilir.

Apinizer Test Konsolunu kullanarak ya da tercih ettiğiniz bir başka uygulama üzerinden yeni bir HTTP isteği hazırlayın.

  • Adres, kendi Apinizer erişim adresinize uygun olarak şuna benzer şekilde girilmelidir: https://apinizerErisimAdresiniz/credential/token.
bilgi

URL Parametrelerine İzin Ver seçeneği seçildiyse, bilgiler GET metodu ile URL parametresi üzerinden gönderilebilir. (Gönderilecek olan parametreler için aşağıdaki tabloya bakınız).

  • HTTP metodu POST olmalıdır.
  • Body alanında "x-www-form-urlencoded" değeri seçilmelidir. Eğer Apinizer Test Konsolu kullanılmıyor ise "Content-Type" adı ve "application/x-www-form-urlencoded" değeri ile bir başlık eklenmelidir.
  • Body alanına girilecek değerler aşağıdaki tablodaki gibidir
Anahtar AdıAnahtar Değeri
grant_typerefresh_token
client_idCredentials'a ait Client Id değeri
client_secretCredentials'a ait Client Secret değeri
refresh_tokenDaha önce alınmış olan token'daki "refresh_token" anahtarındaki değer

Grant_type client_credentials ise

ACL'den Yönet seçeneği ile bir OAuth2 Kimlik Doğrulama politikası ekleyin. Credential ekranından Token Settings paneline gelerek varsayılan değerleri kaydedin.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

ACL OAuth2 Client Credentials Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

ACL OAuth2 Token ile İstek Gönderme

Grant_type password ise

ACL'den Yönet seçeneği ile bir OAuth2 Kimlik Doğrulama politikası ekleyin. Credential ekranından Token Settings paneline gelerek Grant Type değerini Password olarak seçin ve kaydedin.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

ACL OAuth2 Password Token İsteği

Yanıt mesajı içerisindeki "access_token" alanındaki değer, bu API Proxy'e gönderilecek olan tüm isteklerde "Authorization" anahtarına değer olarak verilerek ilgili API'ye güvenli bir şekilde erişim sağlanmış olur.

Apinizer Test Konsolu üzerinden token bilgisiyle istek gönderme işlemini içeren görsele aşağıda yer verilmiştir:

ACL OAuth2 Password Token ile İstek Gönderme

Grant_type refresh_token ise

ACL'den Yönet seçeneği ile bir OAuth2 Kimlik Doğrulama politikası ekleyin. Credential ekranından Token Settings paneline gelerek Token Yenileme seçeneğini aktifleştirin ve kaydedin.

Aşağıdaki örnekteki gibi bir mesaj ile token alma isteğinizi gönderin.

Apinizer Test Konsolu üzerinden Token Servisine istek gönderme ayarlarını içeren görsele aşağıda yer verilmiştir:

ACL OAuth2 Refresh Token İsteği

Token yenileme yapmak için, ilk istekte gelen cevapta bulunan "refresh_token" alanındaki değeri alın ve aşağıdaki gibi hazırladığınız mesajda refresh_token anahtarına değer olarak verin.

Gelecek olan cevap içerisindeki "access_token" alanındaki değer yenilenmiş token değeriniz olacaktır.

Apinizer Test Konsolu üzerinden token yenilemek için gönderilen istek örneğine ait görsele aşağıda yer verilmiştir:

ACL OAuth2 Refresh Token Yenileme