// // LoginWebView.swift // Bremer // // Created by yhornisse on 2023/07/17. // import SwiftUI import WebKit struct LoginWebView: UIViewRepresentable { private let webView = WKWebView() @EnvironmentObject private var settingViewModel : SettingViewModel func makeUIView(context: Context) -> WKWebView { webView.navigationDelegate = context.coordinator webView.load(URLRequest(url: URL(string:"\(settingViewModel.getSetting().baseUrl)/login.html")!)) return webView } func updateUIView(_ uiView: WKWebView, context: Context) { } func makeCoordinator() -> Coordinator { return Coordinator(self) } } extension LoginWebView { class Coordinator: NSObject, WKNavigationDelegate { private var parent: LoginWebView private let cookieName = "JSESSIONID" init(_ parent: LoginWebView) { self.parent = parent } func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { webView.configuration.websiteDataStore.httpCookieStore.getAllCookies { cookies in for cookie in cookies { if cookie.name == self.cookieName { UserDefaults.standard.set(cookie.value, forKey: self.cookieName) webView.configuration.websiteDataStore.httpCookieStore.delete(cookie) return } } } } } }