Интеграция входа в Facebook с Keycloak - PullRequest
0 голосов
/ 13 февраля 2019

Я просто абсолютно и полностью потерян здесь.Я понятия не имею, как идти вперед и не знаю, нахожусь ли я даже на правильном пути.Я крутил здесь свои колеса в течение двух недель, но решения не было видно.

Я получил сообщение от FB:

Работая над созданием отличного опыта для Платформы для всех, мы просим разработчиковчтобы убедиться, что приложения, которые они создают, соответствуют нашим политикам платформы.Ваше приложение APPNAME (AppId: APPID) не соответствует следующим требованиям:

Политика платформы 8.2: Собственные приложения для iOS и Android, которые реализуют вход в Facebook, должны использовать наши официальные SDK для входа.

Please make sure your iOS app is using the most recent version of our SDK for Login. You can find more information on our iOS SDK for Login and other Login-related products here: https://developers.facebook.com/docs/facebook-login/ios.

(здесь я задал менее актуальный вопрос: Конфигурация AeroGear для iOS в Facebook )

Я пытаюсь интегрировать Facebook с Keycloak - мой старый метод работалхорошо, но каким-то образом я должен найти какой-нибудь способ соединить FB SDK с Keycloak, и, насколько я могу судить, буквально НИКТО не делает этого.Я спросил в сообществе разработчиков Facebook.Я спросил в списке рассылки Keycloak и НИЧЕГО.

Теперь у меня есть основной код входа в Facebook, и я пытаюсь установить JWT в качестве маркера авторизации входа в Facebook:

    let loginManager=LoginManager()
    loginManager.logIn(readPermissions: [ReadPermission.publicProfile]) { loginResult in
        switch loginResult {
        case .failed(let error):
            print(error)
        case .cancelled:
            print("User cancelled login")
        case .success(let grantedPermissions, let declinedPermissions, let accessToken):

            let keychain = SimpleKeychainStorage();

            keychain.setJwt(accessToken.authenticationToken as! String)
            completion(AuthenticationResult.success())
        }
    }

Ранее я устанавливал JWT в качестве токена на ответ от Oauth:

client.oauthModule.login { (data: AnyObject?, claim: OpenIdClaim?, error: NSError?) -> Void in

let keychain = SimpleKeychainStorage();
            keychain.setJwt(data as! String)

Теперь аутентификационный токен Facebook, по-видимому, НЕ JWT.

Как получить JWTмаркер для отправки в Keycloak?Я делаю это совершенно неправильно?Может кто-нибудь, пожалуйста, помогите мне?

...