2015-05-07 103 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