可以在iphone上使用oauth进行身份验证,而不需要用户输入pin码吗?

可以在iphone上使用oauth进行身份验证,而不需要用户输入pin码吗?,iphone,twitter,sdk,oauth,Iphone,Twitter,Sdk,Oauth,我看不到或读不到任何实用的方法,可以让您使用oauth进行身份验证,而不必让用户离开应用程序或在发布更新之前写下pin。。。。。是否有我错过的另一个RESTAPI 这是我的密码。。。。我做错什么了吗 NSURL*requestTokenURL=[NSURL URLWithString:@] } 是的。您可以做的是在应用程序中注册一个自定义URI方案,并在oauth_回调参数中使用它。这使您不必使用带外回调配置,如您所述,该配置要求用户手动输入验证器 有关在此处注册应用程序的自定义URI方案的详

我看不到或读不到任何实用的方法,可以让您使用oauth进行身份验证,而不必让用户离开应用程序或在发布更新之前写下pin。。。。。是否有我错过的另一个RESTAPI

这是我的密码。。。。我做错什么了吗

NSURL*requestTokenURL=[NSURL URLWithString:@]

}
是的。您可以做的是在应用程序中注册一个自定义URI方案,并在oauth_回调参数中使用它。这使您不必使用带外回调配置,如您所述,该配置要求用户手动输入验证器

有关在此处注册应用程序的自定义URI方案的详细信息:

编辑-详细说明

使用自定义URI方案,您可以指示OAuth服务提供商在用户授权请求令牌时“回调”iPhone应用程序。这是繁琐的带外回调工作流的一种替代方法,该工作流要求用户授权请求令牌,然后向用户提供他们通过应用程序手动输入的验证器代码。它也更类似于使用OAuth的Web应用程序的行为

使用URI方案所涉及的步骤如下:

使用上述链接作为指导,将自定义URI方案绑定到您的iPhone应用程序,即myapp://。 当从OAuth服务提供商请求请求令牌时,请提供一个URI,该URI使用您的自定义方案作为“OAuth_回调”参数的值。例如,oauth_回调=myapp://oauth/callback 获取请求令牌后,通过浏览器启动Safari将用户定向到服务提供商授权端点URL,并将用户发送到。 如果用户选择授权请求令牌,服务提供商通常会通过301 HTTP状态头将它们重定向到您在步骤2中提供的URI。 Safari将识别URI使用绑定到应用程序的方案并启动应用程序。 再次调用回调时,请参阅上面的链接指南以了解详细信息,您将能够将授权的OAuth请求令牌交换为访问令牌。 最后,使用访问令牌,您将能够从OAuth服务提供商访问受保护的资源。
这更有意义吗

是的。您可以做的是在应用程序中注册一个自定义URI方案,并在oauth_回调参数中使用它。这使您不必使用带外回调配置,如您所述,该配置要求用户手动输入验证器

有关在此处注册应用程序的自定义URI方案的详细信息:

编辑-详细说明

使用自定义URI方案,您可以指示OAuth服务提供商在用户授权请求令牌时“回调”iPhone应用程序。这是繁琐的带外回调工作流的一种替代方法,该工作流要求用户授权请求令牌,然后向用户提供他们通过应用程序手动输入的验证器代码。它也更类似于使用OAuth的Web应用程序的行为

使用URI方案所涉及的步骤如下:

使用上述链接作为指导,将自定义URI方案绑定到您的iPhone应用程序,即myapp://。 当从OAuth服务提供商请求请求令牌时,请提供一个URI,该URI使用您的自定义方案作为“OAuth_回调”参数的值。例如,oauth_回调=myapp://oauth/callback 获取请求令牌后,通过浏览器启动Safari将用户定向到服务提供商授权端点URL,并将用户发送到。 如果用户选择授权请求令牌,服务提供商通常会通过301 HTTP状态头将它们重定向到您在步骤2中提供的URI。 Safari将识别URI使用绑定到应用程序的方案并启动应用程序。 再次调用回调时,请参阅上面的链接指南以了解详细信息,您将能够将授权的OAuth请求令牌交换为访问令牌。 最后,使用访问令牌,您将能够从OAuth服务提供商访问受保护的资源。
这更有意义吗

这就是它不起作用的原因

2009年4月23日 不推荐的REST:由于存在安全漏洞,已删除对oauth_回调参数的支持。讨论


您必须在应用程序设置中手动设置回调URL,这就是它无法工作的原因

2009年4月23日 不推荐的REST:由于存在安全漏洞,已删除对oauth_回调参数的支持。讨论


您必须在应用程序设置中手动设置回调URL

您能更详细地解释一下吗?这更有意义,但我在OAuth的标题中找不到关于回调参数的任何信息。您正在阅读哪个版本的规范?如果是1.0a,它将是

e请求未经授权的请求令牌时发送的参数:如果为1.0,则将用户重定向到授权URL时发送参数:我已授权,我的URL如下所示:但我的应用程序从未重新启动。。。。。我甚至测试了myApp://uri,如果我只是输入它,它就可以工作,但twitter从不调用它。。有什么我做错了吗?当我说授权时,我的意思是我为我的应用程序创建了自定义uri。你能更详细地解释一下吗?这更有意义,但我在OAuth的标题中找不到任何关于回调参数的信息。你正在阅读哪一版本的规范?如果它是1.0a,它将是您在请求未经授权的请求令牌时发送的参数之一:如果它是1.0,它将是您将用户重定向到授权URL时发送的参数之一:我已授权它,我的URL如下所示:但我的应用程序从未重新启动。。。。。我甚至测试了myApp://uri,如果我只是输入它,它就可以工作,但twitter从不调用它。。有什么我做错了吗?当我说authorized它时,我的意思是我为我的应用程序创建了自定义uri,用这段代码它执行我的requestDidFail函数……我已经很久没有用Objective-C编写任何代码了,我对特定的OAuth库并不熟悉,但是是的,如果这就是你所做的,那么它就是错的。仅向请求令牌端点发送oauth_回调参数将失败。您需要发送所有必需的OAuth参数,包括OAuth\u使用者\u密钥、OAuth\u签名\u方法、OAuth\u签名等。。。你看过说明书了吗?是的,我有多个版本。。。。一旦我添加了额外的回调参数,它就会给我一个NSURLErrorDomain,返回码是-1012,我会给它所有正确的信息,密钥,秘密,时间戳等等。。。我不知道还能做什么。。。。我尝试将回调放在oauth源代码中,其中头是。。。但运气不好我想尽一切办法谢谢你们的帮助。。。。我明白了,我必须更改代码中没有的设置,twitter的设置不同……啊,很高兴你让它工作了!通过这段代码,它执行我的requestDidFail函数……我已经很久没有用Objective-C编写任何代码了,我不熟悉这个特定的OAuth库,但是是的,如果这就是您正在做的,那么它是错误的。仅向请求令牌端点发送oauth_回调参数将失败。您需要发送所有必需的OAuth参数,包括OAuth\u使用者\u密钥、OAuth\u签名\u方法、OAuth\u签名等。。。你看过说明书了吗?是的,我有多个版本。。。。一旦我添加了额外的回调参数,它就会给我一个NSURLErrorDomain,返回码是-1012,我会给它所有正确的信息,密钥,秘密,时间戳等等。。。我不知道还能做什么。。。。我尝试将回调放在oauth源代码中,其中头是。。。但运气不好我想尽一切办法谢谢你们的帮助。。。。我明白了,我必须更改代码中没有的设置,twitter的设置不同……啊,很高兴你让它工作了!
OAMutableURLRequest *request = [[OAMutableURLRequest alloc] 
initWithURL:requestTokenURL 
consumer:_consumer 
token:nil 
realm:nil 
signatureProvider:nil];

[request setHTTPMethod:@"POST"];
[request setOAuthParameterName:@"oauth_callback" withValue:@"myApp:"];
[request prepare];


OADataFetcher *fetcher = [[OADataFetcher alloc] init];

[fetcher fetchDataWithRequest:request
                     delegate:self
            didFinishSelector:@selector(requestTokenTicket:didFinishWithData:)
              didFailSelector:@selector(requestDidFail)];