小编Shy*_*net的帖子

具有Android的Facebook SDK,获取代码而不是访问令牌

我正在构建一个包含加载网站的WebView的应用程序。当用户按下网站上的“与Facebook连接”时,我立即使用Facebook SDK打开“使用Facebook登录”,以便使用用户设备上的应用程序而非Web表单简化身份验证步骤。

现在,我的网站正在使用vBulletin,登录完成后它将重定向到:

http://mywebsite.com/community/index.php?dofbredirect=1&code=[MY_CODE]&state=[SOME_STATE]

我可以从用户在网站上按下“与Facebook连接”时加载的Web视图中获得的状态,但是该代码是我无法获得的,我只能获取访问令牌。

有没有使用Facebook SDK交换代码而不是访问令牌的方法?

authentication sdk android facebook

5
推荐指数
1
解决办法
788
查看次数

Django Rest Framework 抱怨 CSRF

我开发了一个简单的 web 服务,但未能在 Django Rest Framework 中使用 post,因为它抱怨 CSRF:

"detail": "CSRF 失败:CSRF cookie 未设置。"

删除 api_view 装饰器确实会阻止消息出现,但随后我将无法访问 request.data。尽管我添加了 csrf_exempt 装饰器,但我认为 api_view 确实会检查 CSRF。

这是我的观点:

@permission_classes((IsAuthenticated, ))
@csrf_exempt
@api_view(['POST'])
def get_stats(request):
    """
    Returns the stats available.
    """

    user = request.user

    if request.method == 'POST':
        serializer = StatsRequestSerializer(data=request.data)
        stats_request = serializer.data
        return JSONResponse(stats_request)

            #serializer = QuizSerializer(user.quizes.all(), many=True)
            #return JSONResponse(serializer.data)

    response = ActionResponse(status='error', error='Invalid request')
    serializer = ActionResponseSerializer(response)
    return JSONResponse(serializer.data, status=400)
Run Code Online (Sandbox Code Playgroud)

这是我的模型:

class StatsRequest(models.Model):
    """
    A model which describes a request for …
Run Code Online (Sandbox Code Playgroud)

python django csrf

5
推荐指数
1
解决办法
3102
查看次数

标签 统计

android ×1

authentication ×1

csrf ×1

django ×1

facebook ×1

python ×1

sdk ×1