Редирект это чтобы вернуться куда-то. Например, в интернет магазине ты получаешь заказ, переводишь юзера на сайт платёжной системы и говоришь ей "после оплаты верни юзера на такую-то страницу", где ты ему напишешь "спасибо за покупку" и т.п.
У тебя похожий флоу, но вместо платежки идёт oauth
Есть родительский класс с константой, какой модификатор не ставь у константы, она всегда будет видна и в родительском и в дочернем, если же ставишь private, protected, у static, то в родительском/дочернем на уровне класса такое поле не видно.