2017-12-27 9 views
0

Ich mag würde django Server mit ansible nennen:ansible uri Anruf mit Django JWT Token

ich genannt habe:

- name: Check status 200 
    uri: 
     url: https://{{ rest_server }}/api/users/api-token-auth/ 
     method: POST 
     headers: 
     Content-Type: "application/json" 
     body: '{"username": "username", "password": "password"}' 
     return_content: yes 

    register: token 

und ich bekomme das Token. Nun möchte Ich mag dieses Token für das nächste Gespräch verwenden, aber ich kann nicht herausfinden, wie diese Arbeit ist ....

Ich versuche

- name: Check that LOGIN returns a status 200 
    uri: 
    url: https://{{ rest_server }}/api/users/auth/ 
    method: POST 
    headers: 
     Content-Type: "application/json" 
     Authorization: "JWT {{ token.content[token] }}" 
    body: '{"username": "user", "password": "pass"}' 
    return_content: yes 

    register: webpage 

aber ich bekomme Fehler:

"msg": "The task includes an option with an undefined variable. The error was: ansible.utils.unsafe_proxy.AnsibleUnsafeText object has no element {u'cookies': {}, u'vary': u'Accept', u'access_control_allow_headers': u'Access-Control-Allow-Origin, Content-Type, X-CSRFToken, Authorization, Access-Bw, Content-Disposition', u'access_control_allow_methods': u'GET, DELETE, POST, PUT, OPTIONS', u'access_control_allow_credentials': u'true', u'content': u'{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1hcmtvLnphZHJhdmVjQHJlc3VsdC5zaSIsImV4cCI6MTUxNTAxNDE1OSwidXNlcl9pZCI6NCwidXNlcm5hbWUiOiJtYXJrby56YWRyYXZlY0ByZXN1bHQuc2kifQ.otlXbiuXnDJPiLrEKdMTKBgBMbvIGApBVH_aPI5mSd4\"}', 'failed': False, u'json': {u'token': u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6Im1hcmtvLnphZHJhdmVjQHJlc3VsdC5zaSIsImV4cCI6MTUxNTAxNDE1OSwidXNlcl9pZCI6NCwidXNlcm5hbWUiOiJtYXJrby56YWRyYXZlY0ByZXN1bHQuc2kifQ.otlXbiuXnDJPiLrEKdMTKBgBMbvIGApBVH_aPI5mSd4'},....

Was ist der richtige Weg, es zu tun?

Antwort

1

uri Modul liefert content als String.

Verwenden {{ (token.content | from_json).token }} oder {{ token.json.token }}. Jetzt

+0

ich diesen Fehler: uresp [ 'Standort'] = absolute_location (url, uresp [ 'Standort']) –