JWT Authentication for WP-API eklentisi kullanarak yapmak istediğiniz doğrulama işlemlerinde tüm kullanıcılara token üretilmektedir. Bazı zaafiyetler ile üyelik oluşturmak, sisteme sahte üye eklemek çok kolay olabiliyor. Bu yüzden Token işlemleri sırasında sadece WordPress administrator yetkisine sahip kullanıcılara token oluşturma yetkisi vermek için aşağıdaki filtreyi kullanabiliriz. Bu filter eklenti içerisinde eklendiği için kolayca kullanılabiliyor.
add_filter('jwt_auth_token_before_dispatch', 'only_admins_can_get_token', 10, 2);
function only_admins_can_get_token($data, $user) {
// Kullanıcının rollerini kontrol edelim
if (!in_array('administrator', (array) $user->roles)) {
// Admin değilse hata döndür
return new WP_Error(
'jwt_auth_only_admins',
'Yalnızca administrator yetkisine sahip kullanıcılar giriş yapabilir.',
array('status' => 403)
);
}
// Admin ise token verilmeye devam etsin
return $data;
}