да, вам нужно отправить запрос, содержащий реалм, идентификатор клиента в этом реалме и данные достаточные для получения токена (к примеру grant_type="password", username, password, client_secret)
да, он получает access_token и refresh_token. Вы можете декодировать токен и посмотреть что в нем храниться и вытащить данные которые вам нужны к примеру в нем хранятся роли и username, при этом можно положить туда дополнительную инфу
проверка разрешений на беке, для простоты ищете что-то на подобии spring-security, но для php, который будет проверять ваш токен и роли в нем, и в зависимости от роли будете отдавать либо 200 либо 401 на запрос к которому у пользователя нет доступа
если вам не нужно связать какие-то данные вашего приложения с идентификатором пользователя в кейклоке, то не нужно