0

したがって、PFUser は電子メールとパスワードを使用して、従来の方法でログインします。彼らがサインアップするとき、私は userName が電子メール アドレスと同じになるように設定しました。ユーザーがサインインすると、電子メールが使用されます。

これは、次のように呼び出す「Facebookに接続」ボタンを追加するまでうまく機能していました。

[PFFacebookUtils linkUserInBackground:[PFUser currentUser] withReadPermissions:@[@"public_profile", @"user_friends"] block:^(BOOL succeeded, NSError *error) {
                if (succeeded) {
                    NSLog(@"Woohoo, user is linked with Facebook!");

                    [self.tableView reloadData];
                }
            }];

問題は、これが成功すると、ユーザー名がランダムな文字の長い文字列に変更されることです。つまり、ログアウトすると、メールがユーザー名と一致しなくなるため、再度ログインできなくなります。

Heroku で parse-server を使用しています。Facebook の oauth を実装するまではこのようなことは起こらなかったので、クラウド コードは投稿しません。

4

1 に答える 1

0

メールを使用してユーザーを照会する必要があります。ユーザー オブジェクトを返したら、 を使用してユーザー名を取得しますuser.username。ユーザー名を取得したら、でログインできますloginWithUsernameInBackground。簡単なことのように思えますが、それがあなたのやり方です。

于 2016-03-12T00:48:02.793 に答える