- name: test that endpoint offers Negotiate auth uri: url: http://{{ httpbin_host }}/gssapi status_code: 401 register: no_auth_failure failed_when: no_auth_failure.www_authenticate != 'Negotiate' - name: test Negotiate auth over HTTP with explicit credentials uri: url: http://{{ httpbin_host }}/gssapi use_gssapi: yes url_username: '{{ krb5_username }}' url_password: '{{ krb5_password }}' return_content: yes register: http_explicit - name: test Negotiate auth over HTTPS with explicit credentials uri: url: https://{{ httpbin_host }}/gssapi use_gssapi: yes url_username: '{{ krb5_username }}' url_password: '{{ krb5_password }}' return_content: yes register: https_explicit - name: assert test Negotiate auth with implicit credentials assert: that: - http_explicit.status == 200 - http_explicit.content | trim == 'Microsoft Rulz' - https_explicit.status == 200 - https_explicit.content | trim == 'Microsoft Rulz' - name: skip tests on macOS, I cannot seem to get it to read a credential from a custom ccache when: ansible_facts.distribution != 'MacOSX' block: - name: get Kerberos ticket for implicit auth tests httptester_kinit: username: '{{ krb5_username }}' password: '{{ krb5_password }}' - name: test Negotiate auth over HTTP with implicit credentials uri: url: http://{{ httpbin_host }}/gssapi use_gssapi: yes return_content: yes register: http_implicit - name: test Negotiate auth over HTTPS with implicit credentials uri: url: https://{{ httpbin_host }}/gssapi use_gssapi: yes return_content: yes register: https_implicit - name: assert test Negotiate auth with implicit credentials assert: that: - http_implicit.status == 200 - http_implicit.content | trim == 'Microsoft Rulz' - https_implicit.status == 200 - https_implicit.content | trim == 'Microsoft Rulz'