我正在使用simple-oauth1项目在OAuth 1.0中实现iOS app。我使用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)
    {


有了该代码,


我点击OAuth login按钮,然后Webview显示登录页面。
我输入ID /密码。
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。但是它不会重定向到回调URL,而是停留在“访问权限”页面上。

我已经进行了大约2周,但是我找不到答案为什么会这样。

最佳答案

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

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

关于iphone - 验证 token (访问权限已授予)后,不会重定向到回调网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18204570/

10-13 05:12