AFNetworking:如何/何时提示inputBASIC Auth的用户名和密码?

我正在寻找关于提示用户input凭据的最佳做法。 我必须编写这样的可能性,即在用户从电话login后,他/她可以从另一个设备或网页login并更改密码。 由于我在做BASIC身份validation,现在这个令牌是不正确的,我需要适当地处理它。

我已经开始了AFNetworking的一个新项目。 我已经子类AFHTTPClient,我已经重写了HTTPRequestOperationWithRequest消息设置一个身份validation的挑战块,我打电话给超级。 在这个块中,我应该创build一个新的NSURLCredential对象并将其发回给发件人。 我到目前为止。

我没有得到的是我应该如何提示用户。 理想情况下,我想用loginbutton在导航控制器上按下login屏幕。 单击loginbutton将创buildNSURLCredential并将其发送回发件人。

  • 我应该以某种方式阻止挑战区块? 这看起来不正确。
  • 我应该将NSURLAuthenticationChallenge对象保存到全局吗? 好恶。
  • 我应该从我的子类AFHTTPClient推入login页面吗? 听起来就像我违反了关注的分离。
  • 我应该调用我的AppDelegate来提示用户并将NSURLAuthenticationChallenge对象传递给它吗? 听起来更好,但仍然不确定。