使用内部应用程序凭据而不是用户凭据验证iOS应用程序

使用内部应用程序凭据而不是用户凭据验证iOS应用程序,ios,facebook,authentication,Ios,Facebook,Authentication,我是否可以在没有用户交互的情况下对iOS应用程序进行身份验证,以使其能够在Facebook上请求页面数据 例如,在一个音乐家的应用程序中,我希望能够在facebook上请求音乐家的艺术家页面,包括墙上的帖子。然后,我可以得到他们页面的原始数据,并根据自己的喜好设置样式。这不需要用户登录,会话身份验证将由应用程序本身使用嵌入的凭据异步完成 我想使用SDK,但我认为这需要手动OAuth访问令牌请求和发布 谢谢你的帮助 更新: 为了澄清,我对以下情况的可能性感到好奇: 1) 应用程序使用烘焙到应用程

我是否可以在没有用户交互的情况下对iOS应用程序进行身份验证,以使其能够在Facebook上请求页面数据

例如,在一个音乐家的应用程序中,我希望能够在facebook上请求音乐家的艺术家页面,包括墙上的帖子。然后,我可以得到他们页面的原始数据,并根据自己的喜好设置样式。这不需要用户登录,会话身份验证将由应用程序本身使用嵌入的凭据异步完成

我想使用SDK,但我认为这需要手动OAuth访问令牌请求和发布

谢谢你的帮助


更新:

为了澄清,我对以下情况的可能性感到好奇:

1) 应用程序使用烘焙到应用程序中的凭据加载并请求OAuth访问令牌 2) 然后,应用程序可以从预定的页面提要向facebook请求提要数据
3) 所有这些都不需要任何用户交互,也不需要将应用程序跳转到mobile safari,等等。

我真的不明白您想要什么,但可以在没有用户交互的情况下进行身份验证:

如果请求需要身份验证以使 连接时,有效凭据必须已在中可用 NSURLCredentialStorage,或必须作为请求的 网址。如果凭据不可用或身份验证失败,则 URL加载系统通过发送NSURLProtocol子类来响应 处理连接a 继续进行身份验证挑战:消息

有一种身份验证方法:

- (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];
}

好吧,我知道了。我觉得自己很傻,我不知道你能做这件事

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

要请求访问令牌,请执行以下操作:

然后,只需在提要请求中使用返回的访问令牌:


如果这是对TOS或不推荐-请让我知道。目前看来,这似乎是解决办法

我想你正在和这位艺术家合作开发一款应用程序,在他们的FB页面上有一个更好的前端?还是你想解决其他问题?您希望此凭证具有哪些权限?是应用程序发布(作为谁?到什么墙?),还是只是阅读?是的,这将是一种剥去facebook墙的方式。老实说,只要能够在没有UIWebView的情况下显示墙就可以了。证书将来自艺术家的标签。该应用程序不会自己发布,只会请求页面的提要。如果使用该应用程序的用户想要进行身份验证,那么他们可以发表评论等。但让我们看看我是否可以先查看提要!;)酷-以前从未见过NSURL认证存储。这将如何应用于facebook?我必须手动将凭据存储在NSURLCresidentialstorage中,对吗?这是艺术家的用户名和密码还是某种特定于facebook的应用程序凭据?