2

作成中のiOSアプリに「Facebookでログイン」機能を提供するように依頼されました。アプリはPistonで作成されたRESTAPIに接続し、WebアプリケーションはDjangoで作成され、social_authを使用します。アプリケーションにはFacebookログインもあります。

私の考えは、FacebookプロファイルUIDのみを提供するサービス「FBLogin」を作成することでした(IDを取得するためのiPhoneでの個別のFBログイン手順)。SocialAuthモデルを使用して、uidとプロバイダーを使用してDBにクエリを実行し、ユーザーをフェッチできます...しかし、認証メカニズムを使用してこのユーザーインスタンスを認証するにはどうすればよいですか?

これを正しくするためのアイデアはありますか?これは気分が悪いだけです...ユーザーインスタンスを認証するのは面倒です...

ユーザー名とパスワードの認証はすでに実装されています...問題はありません。

ところで、djangoの経験はありません...他にもたくさんの開発経験があるので、pythonとdjangoを理解するのはそれほど難しいことではありません:)

Tx Y

4

1 に答える 1

1

どこにも文書化されていないようですが、REST ハンドラーでこれを行うことができます。

from social_auth.backends.pipeline.social import associate_user
from social_auth.backends.facebook import FacebookBackend
from social_auth.models import UserSocialAuth
myextra_data = {
    'access_token' : 'jfkdlfsdgeyejfghfdsjdfpoweipuo',
    'id' : 123456789,
}
usa, created = UserSocialAuth.objects.get_or_create(provider = 'facebook',
                                                      uid=123456789)
usa.user = user
usa.extra_data = myextra_data
usa.save()
if created:
    associate_user(backend=FacebookBackend, user=user, uid=usa.uid)

extra_dataこれらは、データがYMMVでどのようにフォーマットされるかという点で、かなりベンダー固有になります。

于 2012-07-03T17:49:40.517 に答える