2015-05-07 65 views
1

我试图查看是否可以重新使用我在iOS应用中获取的facebook访问令牌(来自facebook SDK)并将其传递给自定义webview(登录到同一个应用程序,但在网上)。在webview中使用facebook iOS SDK身份验证令牌

我有什么至今: 目前在移动设备上正确验证的应用程序(我的应用程序切换到FB应用程序,并返回到我的应用程序令牌)

var accessToken = FBSDKAccessToken.currentAccessToken() 
var tokenString = accessToken.tokenString 

任何帮助表示赞赏,我花了很多时候都在寻找解决方案,但我发现的所有线索已经过时并且已被弃用。

预先感谢您!

回答

0

我假设你的问题只是如何将数据从本地应用程序传递到webview。 你可以使用js。例如假设这是一个利用保存为test.html访问令牌上的网页视图代码:

<html> 
     <head></head> 
     <body> 
      <script type="text/javascript"> 
      function usesAccessToken(access_token_string) { 
      // use access token 
       alert(access_token_string); 
      } 
      </script> 
     </body> 
    </html> 

您可以通过以下方式值给js函数:

[self.myAppWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"]isDirectory:NO]]]; 

UIWebViewDelegate委托方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    NSString *accessToken = [FBSDKAccessToken currentAccessToken].tokenString; 
    NSString *functionToCall = [NSString stringWithFormat:@"usesAccessToken('%@')", accessToken]; 
    [self.myAppWebView stringByEvaluatingJavaScriptFromString:functionToCall]; 
} 
+0

重要的是要注意,在客户端共享访问令牌是不可取的。 – Bangdel