В моем приложении для iOS я аутентифицирую пользователей с помощью Keycloak через библиотеку AppAuth. Возникла ситуация, когда я хочу открыть веб-просмотр в своем приложении и заставить пользователя войти в систему. Моя идея заключалась в том, чтобы каким-то образом получить файлы cookie из Keycloak и установить их в веб-просмотре, прежде чем представлять их пользователю.Чтобы проверить это, я вошел в систему с помощью браузера, скопировал AUTH_SESSION_ID, KEYCLOAK_IDENTITY и KEYCLOAK_SESSION и установил их в веб-просмотре:
Код: Выделить всё
let authCookie = HTTPCookie(properties: [
.domain: "my-keycloak.host.org",
.path: "/realms/my-realm/",
.name: "AUTH_SESSION_ID",
.value: "auth-session-cookie-value",
.secure: "TRUE",
.expires: "Session"
])!
webView.configuration.websiteDataStore.httpCookieStore.setCookie(authCookie)
Но, похоже, это не работает. Это лучший способ входа пользователя в веб-просмотр после того, как он уже вошел в систему с помощью библиотеки AppAuth, или есть лучший способ?
Подробнее здесь:
https://stackoverflow.com/questions/787 ... ing-keyclo