我正在使用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)
{
使用该代码,
点击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。但它不会重定向到Callback网址,而是停留在“访问权限”页面。
我已经这样做了大约两个星期,但我找不到答案为什么会这样。
答案 0 :(得分:1)
我遇到了同样的问题(使用php)。问题似乎是你必须在请求令牌步骤提供一个url回调(第一步,而不是授权)。
Withings API not redirecting to my callback url (PHP / OAuth)