我在Django中獲得了一些REST API端點,並且我希望使用the same authentication作爲Graphene。 documentation不提供任何指導。如何在Django REST框架認證中使用Graphene GraphQL框架
15
A
回答
15
例如,如果您使用的是您的API意見authentication_classes = (TokenAuthentication,)
,你應該端點添加裝飾以這種方式GraphQLView:
urls.py:
# ...
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.decorators import authentication_classes, permission_classes, api_view
def graphql_token_view():
view = GraphQLView.as_view(schema=schema)
view = permission_classes((IsAuthenticated,))(view)
view = authentication_classes((TokenAuthentication,))(view)
view = api_view(['POST'])(view)
return view
urlpatterns = [
# ...
url(r'^graphql_token', graphql_token_view()),
url(r'^graphql', csrf_exempt(GraphQLView.as_view(schema=schema))),
url(r'^graphiql', include('django_graphiql.urls')),
# ...
請注意,我們添加了一個新的端點並保留了GraphiQL工具使用的原始^graphql
。
然後,您應該在您的GraphQL客戶端中設置Authorization
標頭,並指向graphql_token
端點。
3
並稱,我有以下這種整合時要採取一些額外的步驟:
class RTGraphQLView(GraphQLView):
def parse_body(self, request):
if type(request) is rest_framework.request.Request:
return request.data
return super().parse_body(request)
石墨烯期待.body
ATTR但DRF讀取它,並傳遞給GraphQLView之前它重視.data
。
相關問題
- 1. django rest框架認證
- 2. Django REST框架中的用戶認證
- 3. 使用Django rest框架認證覆蓋django認證
- 4. Django rest框架令牌認證AngularJS
- 5. Django的rest框架和認證
- 6. django rest框架 - 令牌認證註銷
- 7. Django REST框架沒有認證細節
- 8. Django的REST框架定製認證
- 9. Django REST框架 - CurrentUserDefault使用
- 10. 使用Django的REST框架
- 11. 使用Django Rest框架
- 12. Django REST框架+ Django REST Swagger
- 13. Django Rest框架 - 如何使用update_or_create
- 14. 如何使用Django REST框架的ListCreateAPIView
- 15. Django REST框架HyperlinkedModelSerializer
- 16. Django的REST框架
- 17. Django的REST框架
- 18. django rest框架RetrieveUpdateAPIView
- 19. 使用Django REST框架進行基於令牌的認證
- 20. 用Django Rest框架登錄
- 21. django rest框架中的IntegrityError
- 22. 在Django的REST框架
- 23. 在Django的REST框架
- 24. 在Django的REST框架
- 25. 何時以及如何使用Django REST框架驗證數據
- 26. 如何獲得在Django的REST框架
- 27. 如何在Django的REST框架
- 28. 如何使用Django REST框架進行身份驗證
- 29. Django Rest框架身份驗證問題
- 30. Django REST框架身份驗證令牌
這是否仍適用於您?我試圖用SessionAuthentication來做同樣的事情,但是當它試圖讀取請求的主體時,我從graphene-django得到一個錯誤? – Joe
仍然有效,但我沒有最新的軟件包版本。我的回答用: Django的== 1.8.3 djangorestframework == 3.2.2 Django的graphiql == 0.4.4 石墨烯== 0.10.2 graphql核心== 0.5.3 graphql-Django的視圖= = 1.3 graphql-relay == 0.4.4 –