<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Getting Further with Authentication on ZAP</title>
    <link>/docs/getting-further/authentication/</link>
    <description>Recent content in Getting Further with Authentication on ZAP</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="/docs/getting-further/authentication/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Authentication - Concepts</title>
      <link>/docs/getting-further/authentication/concepts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/concepts/</guid>
      <description>&lt;p&gt;These are the concepts that you will need to understand in order to configure authentication in ZAP.&lt;/p&gt;&#xA;&#xA;&lt;h3 id=&#34;contexts&#34;&gt;Contexts &lt;a class=&#34;header-link&#34; href=&#34;#contexts&#34;&gt;&lt;svg class=&#34;fill-current o-60 hover-accent-color-light&#34; height=&#34;22px&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;22px&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;none&#34;/&gt;&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;ZAP &lt;a href=&#34;/docs/desktop/start/features/contexts/&#34;&gt;contexts&lt;/a&gt; are a way of relating a set of URLs together.&#xA;You can define any contexts you like, but it is expected that a context will correspond to a web application.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Authentication - Documented SSO Solutions</title>
      <link>/docs/getting-further/authentication/documented-sso-solutions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/documented-sso-solutions/</guid>
      <description>&lt;p&gt;The following SSO providers have documented solutions for automation.&lt;/p&gt;&#xA;&lt;p&gt;We will aim to test ZAP with as many of these providers as possible in order to provide specific ZAP integration details.&#xA;If you would like to help with this effort then please get in touch &amp;#x1f601;.&lt;/p&gt;&#xA;&#xA;&lt;h4 id=&#34;keycloak&#34;&gt;Keycloak &lt;a class=&#34;header-link&#34; href=&#34;#keycloak&#34;&gt;&lt;svg class=&#34;fill-current o-60 hover-accent-color-light&#34; height=&#34;22px&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;22px&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;none&#34;/&gt;&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Documentation: &lt;a href=&#34;https://www.keycloak.org/docs/latest/securing_apps/#_resource_owner_password_credentials_flow&#34;&gt;https://www.keycloak.org/docs/latest/securing_apps/#_resource_owner_password_credentials_flow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Test service: none&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Suggested way to get a session token using a direct grant:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Authentication - Make your Life Easier</title>
      <link>/docs/getting-further/authentication/make-your-life-easier/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/make-your-life-easier/</guid>
      <description>&lt;p&gt;Authentication is a key way of restricting access to an app.&#xA;Some authentication mechanisms also make it significantly harder to use tools like ZAP, even for those people who have permission to use them.&lt;/p&gt;&#xA;&#xA;&lt;h3 id=&#34;test-in-a-safe-environment&#34;&gt;Test in a Safe Environment &lt;a class=&#34;header-link&#34; href=&#34;#test-in-a-safe-environment&#34;&gt;&lt;svg class=&#34;fill-current o-60 hover-accent-color-light&#34; height=&#34;22px&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;22px&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;none&#34;/&gt;&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Testing with valid credentials in a production environment is a really bad idea.&#xA;You will pollute data stores with invalid data and you always run the risk of taking the service down or impacting valid users in some other way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Authentication - Manual</title>
      <link>/docs/getting-further/authentication/manual-auth/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/manual-auth/</guid>
      <description>&lt;p&gt;If you are just performing manual testing then authentication is generally easier.&lt;/p&gt;&#xA;&lt;p&gt;With manual testing you should be exploring the target app manually with a browser that is proxying through ZAP.&#xA;In this case you can just use the valid credentials in the browser and in most cases you will be logged in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Authentication - Session Handling</title>
      <link>/docs/getting-further/authentication/session-handling/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/session-handling/</guid>
      <description>&lt;p&gt;If ZAP is handling authentication then it needs to handle sessions as well - logging in is of no use if ZAP does not maintain the session as the target app will just treat ZAP as being unauthenticated.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;/docs/desktop/start/features/sessionmanagement/&#34;&gt;Session management&lt;/a&gt; configuration is part of a ZAP context.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In the ZAP desktop it is configured via the Context &lt;a href=&#34;/docs/desktop/ui/dialogs/session/contexts/&#34;&gt;Session Management&lt;/a&gt; screen.&lt;/li&gt;&#xA;&lt;li&gt;In the &lt;a href=&#34;/docs/automate/automation-framework/&#34;&gt;Automation Framework&lt;/a&gt; it is part of a context defined in the &lt;a href=&#34;/docs/desktop/addons/automation-framework/environment/&#34;&gt;environment&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;In the API it is configured via endpoints underneath the &lt;a href=&#34;/docs/api/#zap-api-sessionmanagement&#34;&gt;sessionManagement&lt;/a&gt; component.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;ZAP supports Cookie and HTTP Authentication Session Management out of the box.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Authentication Methods</title>
      <link>/docs/getting-further/authentication/authentication-methods/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/authentication-methods/</guid>
      <description>&lt;p&gt;Authentication Methods are the means by which ZAP actually authenticates to a web app.&lt;/p&gt;&#xA;&lt;p&gt;The following methods are supported:&lt;/p&gt;&#xA;&#xA;&lt;h3 id=&#34;manual-authentication&#34;&gt;Manual Authentication &lt;a class=&#34;header-link&#34; href=&#34;#manual-authentication&#34;&gt;&lt;svg class=&#34;fill-current o-60 hover-accent-color-light&#34; height=&#34;22px&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;22px&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;none&#34;/&gt;&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;This is the default method, and means that you are &lt;a href=&#34;../manual-auth/&#34;&gt;handling authentication yourself&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Auto-Detection</title>
      <link>/docs/getting-further/authentication/auto-detection/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/auto-detection/</guid>
      <description>&lt;p&gt;ZAP has options for auto-detecting all of the different parts of authentication that it requires.&#xA;If they work for your apps then it will make your life considerably easier, so this is the best place for you to start.&lt;/p&gt;&#xA;&#xA;&lt;h3 id=&#34;authentication-tester-dialog&#34;&gt;Authentication Tester Dialog &lt;a class=&#34;header-link&#34; href=&#34;#authentication-tester-dialog&#34;&gt;&lt;svg class=&#34;fill-current o-60 hover-accent-color-light&#34; height=&#34;22px&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;22px&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M0 0h24v24H0z&#34; fill=&#34;none&#34;/&gt;&lt;path d=&#34;M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;/blog/2023-05-23-authentication-tester/&#34;&gt;Authentication Tester Dialog&lt;/a&gt; is a quick and easy way to check if ZAP can&#xA;automatically detect all of the information it needs - you only need to provide the URL of your login page and valid credentials.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Diagnosing Authentication Problems</title>
      <link>/docs/getting-further/authentication/diagnosing-auth-problems/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/diagnosing-auth-problems/</guid>
      <description>&lt;p&gt;If you ask a question related to authentication on one of the ZAP forums then you will be directed here.&lt;/p&gt;&#xA;&lt;p&gt;We know that the ZAP authentication documentation needs improving.&#xA;One of the reasons why it has not been improved is that we are too busy trying to answer authentication questions &amp;#x1f609;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finding a Verification URL</title>
      <link>/docs/getting-further/authentication/finding-a-verification-url/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/finding-a-verification-url/</guid>
      <description>&lt;p&gt;If you need to set up ZAP to handle authentication then you really need to find a suitable verification URL in your app.&lt;/p&gt;&#xA;&lt;p&gt;You should always try &lt;a href=&#34;../auto-detection&#34;&gt;Auto Detection&lt;/a&gt; first as if this works it will find a suitable verification URL for you.&lt;/p&gt;&#xA;&lt;p&gt;The verification URL will be one that you can request from the &lt;a href=&#34;/docs/desktop/addons/requester/dialogs/&#34;&gt;Manual Request Editor dialog&lt;/a&gt; and which will send a response that allows you to work out whether you are logged in or not. What that looks like will entirely depend on your app, but could be something like:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Handling Authentication Yourself (in Automation)</title>
      <link>/docs/getting-further/authentication/handling-auth-yourself/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/getting-further/authentication/handling-auth-yourself/</guid>
      <description>&lt;p&gt;If you can generate an authentication token (e.g. to use in a header or cookie) and you know that your app&#xA;will not invalidate it while you are using ZAP then one option is to handle authentication yourself.&lt;/p&gt;&#xA;&lt;p&gt;In this case you take on the responsibility for handling the authentication and session handling.&#xA;This means that you do not have to configure ZAP as much but it also means that ZAP will not be able to help you as much.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
