将Facebook登录名与Keycloak集成

时间:2019-02-13 03:30:59

标签: keycloak fbsdk

我在这里完全迷失了。我不知道该如何前进,也不知道我是否走在正确的道路上。我已经在这里转动了两个星期,看不见任何解决办法。

我从FB得到了此消息:

在努力为每个人创造出色的平台体验时,我们要求开发人员确保其构建的应用程序符合我们的平台政策。您的应用APPNAME(AppId:APPID)不符合以下条件:

平台政策8.2:实现Facebook登录的本机iOS和Android应用必须使用我们的官方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 for iOS Facebook configuration

我正在尝试将Facebook与Keycloak集成-我的旧方法运行良好,但是以某种方式我必须找出某种方法将FB SDK与Keycloak连接起来,据我所知,NOBODY实际上在做这个。我在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?我这样做是完全错误的吗?有人可以帮我吗?

0 个答案:

没有答案