Oauth2 facebook callback swift

时间:2018-03-19 22:13:24

标签: ios swift facebook oauth-2.0 facebook-oauth

我想登录Facebook并重定向到我的应用,但我遇到了问题。有我的代码:

 let oauthswift = OAuth2Swift(
                consumerKey:    "4242424242",
                consumerSecret: "",
                authorizeUrl:   "https://www.facebook.com/dialog/oauth",
                accessTokenUrl: "https://graph.facebook.com/oauth/access_token",
                responseType:   "code"
            )
oauthswift.authorizeURLHandler = SafariURLHandler(viewController: self, oauthSwift: oauthswift)
          let state = generateState(withLength: 20)
          guard let rwURL = URL(string:"https://myapp.test/callback/facebook") else { return }
         let _ = oauthswift.authorize( withCallbackURL:rwURL, scope: "public_profile", state: state,
                success: { credential, response, parameters in
                  ..........}

Bundle是ID是myapp.test

的Info.plist:

 <key>CFBundleURLTypes</key>
        <array>
            <dict>
                <key>CFBundleURLSchemes</key>
                <array>
                    <string>myapp.test</string>
                </array>
            </dict>
        </array>

当我尝试重定向到我的应用程序时#34; Safari无法打开页面,因为无法找到服务器&#34;

在developers.facebook.com页面的“#34;有效OAuth重定向URI&#34;我有相同的网址&#34; https://myapp.test/callback/facebook&#34;。我做错了什么? 谢谢。

1 个答案:

答案 0 :(得分:0)

如果您希望OAuth在身份验证后打开您的应用,则重定向网址应为myapp.test://callback/facebook,而不是https://...。否则它只会尝试在safari中打开此URL。

如果有帮助,请告诉我。