如何在iPhone本机应用程序上使用单点登录?

如何在iPhone本机应用程序上使用单点登录?,iphone,jqtouch,cordova,single-sign-on,Iphone,Jqtouch,Cordova,Single Sign On,我正在开发一个使用单点登录的web应用程序的移动版本。如何在本机iPhone应用程序上使用单点登录?术语“单点登录”可能意味着许多不同的事情,但以下是我如何处理我一直在构建的应用程序上的用户身份验证 首先,如果我以前从未见过他们,我要求他们登录或注册(稍后会有更多信息)。一旦他们这样做了,在web应用程序上,我生成一个魔术令牌并将其与他们的用户记录一起存储。我将该令牌作为登录/注册请求的HTTP响应的一部分返回,并将其存储在NSUserDefaults中 从那时起,我为每个请求提供该令牌,并使用

我正在开发一个使用单点登录的web应用程序的移动版本。如何在本机iPhone应用程序上使用单点登录?

术语“单点登录”可能意味着许多不同的事情,但以下是我如何处理我一直在构建的应用程序上的用户身份验证

首先,如果我以前从未见过他们,我要求他们登录或注册(稍后会有更多信息)。一旦他们这样做了,在web应用程序上,我生成一个魔术令牌并将其与他们的用户记录一起存储。我将该令牌作为登录/注册请求的HTTP响应的一部分返回,并将其存储在NSUserDefaults中

从那时起,我为每个请求提供该令牌,并使用它对用户进行身份验证。如果他们在没有有效令牌的情况下向我提交任何内容,我会通过登录/注册将其返回

我不会在应用程序启动之间删除它。等你回来找我时,除非你按下“注销”按钮,否则你还是你

我还可以让你通过这种方式从web应用程序注销手机,只需从用户数据库中删除auth令牌


现在(这更晚了)我听说苹果拒绝应用程序,因为它们要求用户提前注册。这并没有成为一个广泛存在的问题,所以我怀疑这只是一个暂时现象,但这是一个风险。

您基本上希望保存凭据,然后在任何身份验证挑战需要时将其提供给请求

实际上,我编写了一个PhoneGap插件来包装大量的登录/身份验证功能


这可能取决于单点登录的工作方式。我们使用shibboleth。但问题是。当用户转到应用程序时,单点登录会拦截并要求用户在继续之前登录。但对于本机应用程序,我不希望用户每次都登录。这似乎不是一个好的用户体验。