3

明確化iOSが提供するソーシャルAPI(アカウントフレームワーク)のみを使用したい場合、ユーザーがFacebookまたはTwitterアカウントでアプリにログインできるようにすることはできますか?
はいの場合、ユーザーID(または名前、twittername、facebook名)と一緒に何を使用して、(サーバー側で)それらが本人であることを確認します。

より表現力豊かな説明 ネイティブiOS(またはAndroid)アプリでのサードパーティの登録とログイン統合の背後にあるワークフロー/ロジックを理解するのに苦労しているため、iOSにはユーザーのTwitter(またはFacebook)の資格情報とアプリはAPIを呼び出してユーザーのTwitterIDを取得できますが、これまでのところ、バックエンドサーバーと通信して、ユーザーIDを持っているだけでは不十分であると主張するユーザーであることを証明したい場合は、
何かが足りませんか? ?

私の質問は、ユーザーが資格情報を証明していない場合、バックエンドサーバーでユーザーをどのように認証するかです。

4

1 に答える 1

0

ACAccountStoreを使用して認証できます。以下のコードのほとんどについて、http://blogs.captechconsulting.com/blog/eric-stroh/ios-6-tutorial-integrating-facebook-your-applicationsに感謝します。

self.accountStore = [[ACAccountStore alloc]init];
ACAccountType *FBaccountType= [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
NSString *key = @"987654"; //put your own key from FB here
NSDictionary *dictFB = //use the ACAccountStore ACFacebookPermissionsKey to help create your dictionary of permsission you'd like to request, such as the users email, writing on the wall, etc.
[self.accountStore requestAccessToAccountsWithType:FBaccountType options:dictFB completion: ^(BOOL granted, NSError *e) {
    if (granted) {
        NSArray *accounts = [self.accountStore accountsWithAccountType:FBaccountType];
        //it will always be the last object with SSO
        self.facebookAccount = [accounts lastObject];
    } else {
        //Fail gracefully...
        NSLog(@"error getting permission %@",e);
    } 
}];

その時点で、アカウントストアのoauthトークンにアクセスできます。このトークンをサーバーに送信して、Facebookとのサーバー側のやり取りを行うことができます。

于 2013-05-10T03:10:47.220 に答える