2012-08-02 50 views
1

是否有可能对我来说,无需用户交互进行身份验证的iOS应用的水平,它可以使网页数据Facebook的要求?身份验证iOS应用程序与内部应用程序凭据不是用户凭据

例如,在一个音乐家的应用程序,我希望能够做出包括涂鸦墙音乐家的音乐人页面的Facebook请求。然后,我可以获取他们页面的原始数据,然后根据我的喜好进行设计。这不需要用户登录,会话身份验证将由应用程序本身异步完成,使用嵌入凭证。

我想使用SDK,但我想这需要手动OAuth访问令牌的请求和职位。

感谢您的帮助!


UPDATE:

为了澄清,我好奇以下的可能性:

1)应用加载和使一个OAuth访问令牌使用凭证烘焙到应用 的请求2)然后应用程序可以向Facebook发送关于来自预定页面订阅源的订阅源数据的请求 3)这些都不需要任何用户交互或者将应用程序反弹到移动Safari浏览器等。

+0

我想你正在与艺术家合作,开发具有更好的前端,他们的FB网页的应用程序?还是你想解决一些其他问题?你希望这个凭证有什么权利?该应用是否发布(作为谁?到什么墙?),或者只是阅读? – 2012-08-02 21:55:26

+0

是的 - 将是一种皮肤他们的脸谱墙。老实说,只要能够在没有UIWebView的情况下显示墙就没问题。凭证将来自艺术家的标签。该应用绝不会自行发布,只会请求该网页的Feed。如果使用该应用程序的用户想要进行身份验证,他们可以发表评论等,但让我们看看我是否可以只是先喂这个饲料! ;) – 2012-08-02 22:10:18

回答

1

好了 - 我想通了这一点。感觉非常愚蠢,我不知道你可以做到这一点。

您可以为应用程序ID &秘密请求访问令牌。这将允许您发出需要访问令牌的公共数据请求。

请求访问令牌: https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=11111111&client_secret=9999999999

然后,只需使用返回的访问令牌在您的Feed请求:

https://graph.facebook.com/musicpage/feed?access_token=ACCESS_TOKEN

如果这是对服务条款或弃用 - 请让我知道。现在这似乎是解决方案!

1

我不喜欢LLY明白你想要什么,但有可能无需用户交互进行身份验证:如果请求要求身份验证,以使 连接,有效的凭证必须已经在 NSURLCredentialStorage可用,或者必须提供

作为请求的 URL的一部分。消息:如果证书无法获得或无法验证,该 网址加载系统通过发送NSURLProtocol子 处理连接的 continueWithoutCredentialForAuthenticationChallenge响应。

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/AuthenticationChallenges.html#//apple_ref/doc/uid/TP40009507-SW1

有用于验证的方法:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace { 
    return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]; 
} 

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { 
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) 
     [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge]; 
    [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge]; 
} 
+0

酷 - 以前从未见过NSURLCredentialStorage。这将如何应用于Facebook?我必须在NSURLCredentialStorage中手动存储凭据,对吗?这是艺术家的用户名和密码或某种Facebook特定的应用程序凭据? – 2012-08-02 22:15:45

相关问题