Facebook OAuth使用python-social-auth登录移动应用程序

时间:2016-08-07 11:30:44

标签: django facebook xamarin python-social-auth xamarin.auth

我目前正在使用Python Social Auth Xamarin Django 中编写移动应用程序,我的应用程序需要个性化,因此我决定使用Facebook身份验证代替由于安全隐患,允许用户存储用户名/密码组合。

当使用普通的Web浏览器时,由于它记住状态,这种方法很好,但是在尝试使用Xamarin时会遇到棘手的问题。我尝试使用Xamarin.Auth,但这导致了错误,因为它预计响应 [1] 中的access_token,我无法从Python Social Auth库获取,因为它需要在完成 [2] 之后进行硬编码重定向,这反过来会导致两个库之间发生冲突。

我尝试查看以下示例代码,但这需要移动应用程序ALREADY具有访问令牌(取自类似问题here):

from django.contrib.auth import login
from social.apps.django_app.utils import psa

# Define an URL entry to point to this view, call it passing the
# access_token parameter like ?access_token=<token>. The URL entry must
# contain the backend, like this:
#
#   url(r'^register-by-token/(?P<backend>[^/]+)/$',
#       'register_by_access_token')

@psa('social:complete')
def register_by_access_token(request, backend):
    # This view expects an access_token GET parameter, if it's needed,
    # request.backend and request.strategy will be loaded with the current
    # backend and strategy.
    token = request.GET.get('access_token')
    user = request.backend.do_auth(request.GET.get('access_token'))
    if user:
        login(request, user)
        return 'OK'
    else:
        return 'ERROR'

如果有人有使用Xamarin和Python Social Auth的经验,如果你能指出我正确的方向,那将非常感激。

0 个答案:

没有答案