0

我正在OAuth 1.0使用iOS appsimple -oauth1项目中实现。我使用Withings api了所以我从 simple-oauth1 进行了一些修改(如消费者 oauth 密钥、密钥、回调 url ......)。我插入

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

完成上述过程后,webview 显示 oauth_token= blahblah, oauth_verifier=blahblah 的“ACCESS GRANTED”页面。但它不会重定向到回调 url,它停留在“ACCESS GRANTED”页面。

我已经这样做了大约 2 周,但我找不到为什么会发生这种情况的答案。

4

1 回答 1

1

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

Withings API 未重定向到我的回调 url (PHP / OAuth)

于 2013-08-19T22:17:07.167 回答