let authURL = URL(string: "https://discord.com/api/oauth2/authoriz ... =\(scopes)")!
print(authURL.absoluteString)
let session = ASWebAuthenticationSession.init(url: authURL, callback: .customScheme("infinitea"), completionHandler: { url, error in
if let url, let code = URLComponents(string: url.absoluteString)?.queryItems?.first(where: { $0.name == "code" })?.value {
completion(code)
return
} else {
completion(nil)
}
})
session.presentationContextProvider = self
session.start()
}
[/code]
В дополнение к вышеуказанному коду я добавил в свою info.plist схема URL с следующими значениями.
Код: Выделить всё
identifier - com.mydomain.myproject
urlschemes - infinitea
< /code>
Наконец, я добавил этот код для захвата аутентификации перенаправления. А также добавлено Infinitea: // auth Код: Выделить всё
var body: some Scene {
WindowGroup {
ContentView()
.environmentObject(swiftCordAuth)
.onOpenURL { url in
print("Opening URL: \(url)")
self.swiftCordAuth.handleIncomingURL(url)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... sion-compl
Мобильная версия