gpt4 book ai didi

iphone - 现有网站在 iPhone 上的登录功能

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:55 25 4
gpt4 key购买 nike

我想创建一个 iPhone 应用程序,后端将通过 Rails(无 UI/JSON)网络服务得到支持。与其他网站一样,我将拥有的功能之一是登录和注销。现在,我正在考虑我应该如何在 iPhone 上构建这个登录功能以及我的 Rails Web 服务应该做什么?

有人对如何执行此操作有任何指示吗?这是我目前想到的。

因为我的应用程序将是唯一使用此网络服务的应用程序,我将生成一个 key ,该 key 将在每次网络服务调用时传递,以确保没有其他人可以使用此网络服务(没有其他应用程序可以使用我的日志记录登录和注销功能)。

当用户调用登录 ws 时,我将检查以确保用户的登录凭据有效,当它们有效时,我将向他们传递一个他们将保留的 token (我应该如何保留 token ?我不知道t think iPhone has session) and they will have to call another web service passing the token/email/pass to signal the ws that client has got the key.

对于每个受限的 ws 调用,用户都需要传递 token 才能调用服务。

当用户注销时, token 将失效。

基本上我只是复制了 OAuth 机制或类似的东西。我最大的问题是如何在客户端 (iPhone) 上保留 token 。

最佳答案

您可以使用 NSUserDefaults 来存储 token ,您可以设置一个 key 并根据该 key 进行存储和检索。

当用户注销时,您只需清除该键的 NSUserDefault。

-(void)saveToUserDefaults:(NSString*)myString
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

if (standardUserDefaults) {
[standardUserDefaults setObject:myString forKey:@"LoginAuthToken"];
[standardUserDefaults synchronize];
}
}

-(NSString*)retrieveFromUserDefaults
{
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *val = nil;

if (standardUserDefaults)
val = [standardUserDefaults objectForKey:@"LoginAuthToken"];

return val;
}

引用文献;

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

http://www.cocoadev.com/index.pl?NSUserDefaults

如果你想存储你的网络服务的用户名和密码,你应该使用 ios Keychain 访问来保证它的安全。

引用资料;

http://developer.apple.com/library/mac/#documentation/security/conceptual/keychainServConcepts/02concepts/concepts.html

关于iphone - 现有网站在 iPhone 上的登录功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8025502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com