验证令牌(ACCESS GRANTED)后,不会重定向到回调URL

时间:2013-08-13 08:48:21

标签: iphone ios api oauth withings

我正在使用simple-oauth1项目在OAuth 1.0中实施iOS app。我使用Withings api所以我从simple-oauth1修改了一下(比如消费者oauth密钥,密钥,回调网址......)。我插入了

  

的NSLog(request.URL.absoluteString);像下面的代码(它在   OAuth1Controller.m)

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)
request navigationType:(UIWebViewNavigationType)navigationType
{   
    if (_delegateHandler) {
    NSString *urlWithoutQueryString = [request.URL.absoluteString componentsSeparatedByString:@"?"][0];
    NSLog(request.URL.absoluteString);
    if ([urlWithoutQueryString rangeOfString:OAUTH_CALLBACK].location != NSNotFound)
    {

使用该代码,

  1. 点击OAuth login按钮,然后webview显示登录页面。

  2. 我输入ID /密码。

  3. Webview显示帐户允许页面。我点按“允许”按钮。 (NSLog显示http://oauth.withings.com/account/authorize?acceptDelegation=true&oauth_consumer_key=blahblah&oauth_nonce=blahblah&oauth_signature=blahblah&oauth_signature_method=HMAC-SHA1&oauth_timestamp=blahblah&oauth_token=blahblah&oauth_version=1.0&userid=blahblah

  4. 在上述过程之后,webview显示“访问授权”页面,其中包含oauth_token = blahblah,oauth_verifier = blahblah。但它不会重定向到Callback网址,而是停留在“访问权限”页面。

    我已经这样做了大约两个星期,但我找不到答案为什么会这样。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题(使用php)。问题似乎是你必须在请求令牌步骤提供一个url回调(第一步,而不是授权)。

Withings API not redirecting to my callback url (PHP / OAuth)