<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aura – </title>
    <link>/docs/components/global-use-cases/authentication-dialogs/</link>
    <description>Recent content on Aura</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/docs/components/global-use-cases/authentication-dialogs/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/authentication-dialogs/account-linking-dialog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/authentication-dialogs/account-linking-dialog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;account-linking-dialog&#34;&gt;account-linking dialog&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the &lt;em&gt;&lt;strong&gt;account-linking&lt;/strong&gt;&lt;/em&gt; dialog, one of the dialogs that handles users&amp;rsquo; account linking&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/linking/src/account-linking/account-linking-dialog.ts&#34;&gt;&lt;em&gt;&lt;strong&gt;account-linking&lt;/strong&gt;&lt;/em&gt; dialog&lt;/a&gt; is included in the global &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/tree/master/packages/linking&#34;&gt;&lt;em&gt;&lt;strong&gt;linking&lt;/strong&gt;&lt;/em&gt; library&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is in charge of handling user&amp;rsquo;s account linking for channels using &lt;a href=&#34;../../../../docs/components/channels/authentication/&#34;&gt;integrated authentication&lt;/a&gt;, that is, channels that already have a proper user&amp;rsquo;s identifier that should be linked with the corresponding &lt;code&gt;auraId&lt;/code&gt; and that cannot handle &lt;strong&gt;Kernel&lt;/strong&gt; authentication directly:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WebClient&lt;/li&gt;
&lt;li&gt;Facebook&lt;/li&gt;
&lt;li&gt;WhatsApp&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This dialog launches authentication in &lt;strong&gt;Kernel&lt;/strong&gt; based on browser navigation. It includes several steps to validate the Terms and Conditions of the services and to launch the user&amp;rsquo;s autentication in the OB authenticator and in &lt;strong&gt;Kernel&lt;/strong&gt; that, in the end, would register the &lt;code&gt;auraId&lt;/code&gt; in Aura users&amp;rsquo; database.&lt;/p&gt;
&lt;h2 id=&#34;environment-variables&#34;&gt;Environment variables&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Property&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Type&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;Scope&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;LINKING_FP_ACCESS_SESSIONS_ENDPOINT&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;URL to &lt;strong&gt;Kernel&lt;/strong&gt; Access Sessions API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;strong&gt;LINKING_FP_CALLBACK_LOGIN_URL&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;URL to redirect to authentification login&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;strong&gt;LINKING_FP_CALLBACK_LOGOUT_URL&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;URL to redirect to authentification logout&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;LINKING_TERMS_AND_CONDITIONS_URL&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;URL to terms and conditions HTML file. By default: &lt;code&gt;/documents/termsandconditions.html&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:center&#34;&gt;&lt;em&gt;SAFETY_CHECK_ENDPOINT&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Local&lt;/td&gt;
&lt;td&gt;URL API client endpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/authentication-dialogs/get-oauth-url-dialog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/authentication-dialogs/get-oauth-url-dialog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;get-oauth-url-dialog&#34;&gt;get-oauth-url dialog&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the &lt;em&gt;&lt;strong&gt;get-oauth-url&lt;/strong&gt;&lt;/em&gt; dialog, one of the dialogs that handles users&amp;rsquo; account linking&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/linking/src/account-linking/account-get-oauth-url-dialog.ts&#34;&gt;&lt;em&gt;&lt;strong&gt;get-oauth-url&lt;/strong&gt;&lt;/em&gt; dialog&lt;/a&gt; is included in the global &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/tree/master/packages/linking&#34;&gt;&lt;em&gt;&lt;strong&gt;linking&lt;/strong&gt;&lt;/em&gt; library&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This dialog returns to the channel the oauth URL to launch the account linking.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/authentication-dialogs/account-remove-dialog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/authentication-dialogs/account-remove-dialog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;account-remove-dialog&#34;&gt;account-remove dialog&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the &lt;em&gt;&lt;strong&gt;account-remove&lt;/strong&gt;&lt;/em&gt; dialog, one of the dialogs that handles users&amp;rsquo; account linking&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/linking/src/account-linking/account-remove-dialog.ts&#34;&gt;&lt;em&gt;&lt;strong&gt;account-remove&lt;/strong&gt;&lt;/em&gt; dialog&lt;/a&gt; is included in the global &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/tree/master/packages/linking&#34;&gt;&lt;em&gt;&lt;strong&gt;linking&lt;/strong&gt;&lt;/em&gt; library&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This dialog launches the logout process in &lt;strong&gt;Kernel&lt;/strong&gt; based on browser navigation.&lt;/p&gt;
&lt;p&gt;It includes several steps to remove the login session from &lt;strong&gt;Kernel&lt;/strong&gt; and in the OB authenticator that, in the end, would remove the &lt;code&gt;auraId&lt;/code&gt; from the Aura Users&amp;rsquo; database.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/authentication-dialogs/seamless-account-remove-dialog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/authentication-dialogs/seamless-account-remove-dialog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;seamless-account-remove-dialog&#34;&gt;seamless-account-remove dialog&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the &lt;em&gt;&lt;strong&gt;seamless-account-remove&lt;/strong&gt;&lt;/em&gt; dialog, one of the dialogs that handles users&amp;rsquo; account linking&lt;/p&gt;

&lt;/div&gt;

&lt;p&gt;The &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/tree/master/packages/linking/src/seamless-account-remove&#34;&gt;&lt;em&gt;&lt;strong&gt;seamless-account-remove&lt;/strong&gt;&lt;/em&gt; dialog&lt;/a&gt; is included in the global &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/tree/master/packages/linking&#34;&gt;&lt;em&gt;&lt;strong&gt;linking&lt;/strong&gt;&lt;/em&gt; library&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This dialog launches seamless logout in &lt;strong&gt;Kernel&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;It counts on several steps to remove the login session from &lt;strong&gt;Kernel&lt;/strong&gt; and in the OB authenticator that, in the end, would remove the &lt;code&gt;auraId&lt;/code&gt; from the Aura users’ database.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/authentication-dialogs/onboarding-whatsapp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/authentication-dialogs/onboarding-whatsapp/</guid>
      <description>
        
        
        &lt;h1 id=&#34;onboarding-whatsapp-dialog&#34;&gt;onboarding-whatsapp dialog&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the global &lt;em&gt;&lt;strong&gt;onboarding-whatsapp&lt;/strong&gt;&lt;/em&gt; dialog for WhatsApp channel&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/onboarding/src/onboarding-whatsapp-dialog.ts&#34;&gt;&lt;em&gt;&lt;strong&gt;onboarding-whatsapp&lt;/strong&gt;&lt;/em&gt; dialog&lt;/a&gt; is a simple dialog that returns some personalized messages for WhatsApp or other channel.&lt;/p&gt;
&lt;p&gt;The dialog returns three messages with all the information necessary for the user&amp;rsquo;s onboarding and the Terms and Conditions acceptance.&lt;/p&gt;
&lt;p&gt;According to the &lt;a href=&#34;../../../../docs/components/aura-bot-platform/aura-bot-processes/authentication/users-types/&#34;&gt;type of user (authenticated or anonymous)&lt;/a&gt;, the messages will be different:&lt;/p&gt;
&lt;p&gt;For anonymous users, the messages returned will be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;onboarding:onboarding.welcome&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;onboarding:onboarding.privacy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;onboarding:onboarding.terms-and-conditions&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For authenticated users, the returned messages will be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;onboarding:onboarding.auth.welcome&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;onboarding:onboarding.auth.privacy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;onboarding:onboarding.auth.terms-and-conditions&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If one of these texts are filled with &lt;code&gt;&amp;quot; &amp;quot;&lt;/code&gt; in the locales, this message will not be sent, excepting &lt;code&gt;terms-and-conditions&lt;/code&gt; text, which is mandatory. The first two messages, &lt;code&gt;welcome&lt;/code&gt; and &lt;code&gt;privacy&lt;/code&gt;, are only sent the first time this user arrives to the dialog. In succeeding interactions, only &lt;code&gt;terms-and-conditions&lt;/code&gt; message will be returned.&lt;/p&gt;
&lt;h2 id=&#34;terms-and-conditions&#34;&gt;Terms and conditions&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;aura-bot&lt;/strong&gt;&lt;/em&gt; redirects to this dialog when Terms and Conditions settings are set, and the user has not accepted them yet.&lt;/p&gt;
&lt;p&gt;More info about Terms and Conditions settings and flows &lt;a href=&#34;../../../../docs/components/aura-bot-platform/aura-bot-processes/authentication/terms-and-conditions/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/authentication-dialogs/whatsapp-login-otp-dialog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/authentication-dialogs/whatsapp-login-otp-dialog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;whatsapp-otp-login-dialog&#34;&gt;whatsapp-otp-login dialog&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the &lt;em&gt;&lt;strong&gt;whatsapp-otp-login&lt;/strong&gt;&lt;/em&gt; dialog, that handles SMS-OTP authentication in this channel&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;&lt;strong&gt;whatsapp-otp-login&lt;/strong&gt;&lt;/em&gt; dialog is a global dialog to make the user login in the WhatApp channel.&lt;/p&gt;
&lt;p&gt;Currently, it only supports SMS-OTP authentication.&lt;/p&gt;
&lt;p&gt;Access to the &lt;strong&gt;Kernel&lt;/strong&gt; &lt;a href=&#34;https://developers.baikalplatform.com/apis/whatsapp/&#34;&gt;WhatsApp API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;#x1f4c3; Check the dialog&amp;rsquo;s code in the &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/linking/src/whatsapp/whatsapp-otp-login-dialog.ts&#34;&gt;aura-bot-libraries Github repository&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;flows&#34;&gt;Flows&lt;/h2&gt;
&lt;p&gt;The dialog flow is divided in several steps, which are described in the following sections.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../images/wa-sms-otp-login-flow.png&#34; alt=&#34;Texto alternativo&#34;&gt;&lt;/p&gt;
&lt;p&gt;Additionally, a sequence flow is included in &lt;a href=&#34;../../../../docs/developers-workspace/general-operation-system/main-flows/whatsapp-flows/#whatsapp-phone-otp-loa2-authentication&#34;&gt;Operational flowcharts: WhatsApp OTP (LoA2) authentication&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;check-if-the-user-is-already-authenticated&#34;&gt;Check if the user is already authenticated&lt;/h3&gt;
&lt;p&gt;When the dialog flow starts, it checks if the current user is already authenticated, verifying if the type of user is anonymous.&lt;/p&gt;
&lt;p&gt;If so, the dialog flow ends with the text resource &lt;code&gt;login.otp.already.signin&lt;/code&gt;. If not, it starts a sub-dialog to verify the phone number to send the SMS code.&lt;/p&gt;
&lt;h3 id=&#34;check-if-current-number-is-corporate&#34;&gt;Check if current number is corporate&lt;/h3&gt;
&lt;p&gt;In this step, if configured so, the system checks if the current phone number is corporate, to allow using it in next steps.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If check is not enabled or user is not corporate, go to the following step for &lt;a href=&#34;#prompt-a-phone-number&#34;&gt;prompting a new phone number&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, ask the user if she wants to use current number.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;prompt-a-phone-number&#34;&gt;Prompt a phone number&lt;/h3&gt;
&lt;p&gt;This step prompts the user to enter the phone number he wants to log in with in Aura, thus the dialog will send the SMS-OTP code to that phone number.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the phone number format is correct:
&lt;ol&gt;
&lt;li&gt;If configured to &lt;a href=&#34;#check-if-current-number-is-corporate&#34;&gt;check the prompted number&lt;/a&gt; and the number is not corporate, ask for a new phone number (until max number of retries is reached).&lt;/li&gt;
&lt;li&gt;Otherwise, it starts a sub-dialog to verify the SMS authcode.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;If the format is wrong, the dialog will prompt again to enter with correct format until the maximum number of attempts is reached (See &lt;a href=&#34;#settings&#34;&gt;settings&lt;/a&gt; section). When the user reaches this maximum, the dialog ends with the text resource &lt;code&gt;login.otp.too.many.phone.kos&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To send this code to the user phone, the &lt;a href=&#34;https://developers.baikalplatform.com/apis/whatsapp/global-int-current/v1/#tag/Authentication/operation/Send-Email-OTP&#34;&gt;send code endpoint&lt;/a&gt; from &lt;strong&gt;Kernel&lt;/strong&gt; is called. This endpoint returns an &lt;code&gt;authentication_id&lt;/code&gt; that will be used in the next step to validate the OTP code.&lt;/p&gt;
&lt;h3 id=&#34;insert-sms-otp-code&#34;&gt;Insert SMS OTP code&lt;/h3&gt;
&lt;p&gt;This step prompts the user to enter the SMS authcode sent to phone number provided on the previous step.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When the user enters the correct code, the dialog starts the following step in order to register the user.&lt;/li&gt;
&lt;li&gt;If the authcode is wrong, the dialog will prompt again to enter the correct authcode until the maximum number of attempts is reached (See &lt;a href=&#34;#settings&#34;&gt;settings&lt;/a&gt; section).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When the user reaches the maximum authcode attempts the dialog ends with the text resource &lt;code&gt;login.otp.too.many.sms.kos&lt;/code&gt;. A new code can be sent by sending the text resource &lt;code&gt;login.otp.newCode.command&lt;/code&gt; which makes the bot to send a new auth code to the phone number provided.&lt;/p&gt;
&lt;p&gt;To validate the code, the &lt;strong&gt;Kernel&lt;/strong&gt; &lt;a href=&#34;https://developers.baikalplatform.com/apis/whatsapp/global-int-current/v1/#operation/Validate-Phone-Authentication-Code&#34;&gt;validate code endpoint&lt;/a&gt; is called with the code received by the user and the &lt;code&gt;authentication_id&lt;/code&gt; returned in the previous api call. This call returns all the necessary data to register the user in Aura.&lt;/p&gt;
&lt;h3 id=&#34;register-user&#34;&gt;Register user&lt;/h3&gt;
&lt;p&gt;This step registers the user in Aura ecosystem and redirects to onboarding T&amp;amp;C with the intent &lt;code&gt;intent.onboarding.terms-and-conditions&lt;/code&gt; or the requested intent before authentication if T&amp;amp;C are already accepted.&lt;/p&gt;
&lt;p&gt;To do this registry, the method &lt;code&gt;GET /users/aura-id/{auraId}&lt;/code&gt; from &lt;a href=&#34;../../../../docs/components/aura-authentication-api/api-definition/aura-authentication-api/&#34;&gt;&lt;em&gt;&lt;strong&gt;aura-authentication-api&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt; is called and the user is registered with the data obtained from &lt;strong&gt;Kernel&lt;/strong&gt; in the previous step.&lt;/p&gt;
&lt;p&gt;The redirect to onboarding (or the intent set) is done if the field &lt;code&gt;actions.afterLogin&lt;/code&gt; is present in the channel configuration. An example of this configuration is shown below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;whatsapp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;prefix&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;wa&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;whatsapp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;responseOptions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;versions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;v1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;singleMessage&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;actions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;afterLogin&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;redirect&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;action&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;REDIRECT.COMMAND&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;data&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;auraCommand&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;suggestion&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;value&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.onboarding.terms-and-conditions&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a40000&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This configuration is used to generate the &lt;a href=&#34;../../../../docs/components/aura-bridge/aura-bridge-processes/bridge-actions-resolution/&#34;&gt;redirect command&lt;/a&gt; that will be sent to launch the intent. If there is an intent requested before authentication and the T&amp;amp;C are already accepted, the intent set in configuration will be overwritten with the requested intent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt; The user can cancel login flow at any moment by sending the text resource &lt;code&gt;login.otp.cancel.command&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;sequence-diagram&#34;&gt;Sequence diagram&lt;/h2&gt;
&lt;pre class=&#34;mermaid&#34;&gt;sequenceDiagram
    autonumber
    participant user
    participant auraBridge
    participant auraBot
    participant 4p
    participant auraAuth
    participant T&amp;amp;C API
    rect rgb(255, 255, 230)
    Note left of user: USER REQUESTS AN AUTHENTICATED UC
    user-&amp;gt;&amp;gt;auraBridge: I want to see my billing data
    auraBridge-&amp;gt;&amp;gt;auraBot: 
    auraBot-&amp;gt;&amp;gt;auraBot: Dialog needs auth and user is anonymous. Redirect to whatsapp login
    auraBot-&amp;gt;&amp;gt;auraBridge:  
    auraBridge-&amp;gt;&amp;gt;user: login.otp.phone.number: Please enter your phone number
    user-&amp;gt;&amp;gt;auraBridge: &amp;#43;34665762892
    auraBridge-&amp;gt;&amp;gt;auraBot: 
    auraBot-&amp;gt;&amp;gt;4p: Aura requests a new OTP sms
    4p-&amp;gt;&amp;gt;user: (SMS) login.otp.sms.code.message: Your verification code is 6789
    4p-&amp;gt;&amp;gt;auraBot: authorization_id
    auraBot-&amp;gt;&amp;gt;auraBridge: 
    auraBridge-&amp;gt;&amp;gt;user: login.otp.sms.sent.message: Please insert the code
    user-&amp;gt;&amp;gt;auraBridge: 6789
    auraBridge-&amp;gt;&amp;gt;auraBot: 
    auraBot-&amp;gt;&amp;gt;4p: Aura validates the code
    4p-&amp;gt;&amp;gt;auraBot: Returns user data
    auraBot-&amp;gt;&amp;gt;auraAuth: Register user
    auraAuth-&amp;gt;&amp;gt;auraBot: 200 OK
    alt
        Note left of T&amp;amp;C API: User already accepted authenticated T&amp;amp;C
        auraBot-&amp;gt;&amp;gt;T&amp;amp;C API: Checks terms and conditions
        T&amp;amp;C API-&amp;gt;&amp;gt;auraBot: 200 OK
        auraBot-&amp;gt;&amp;gt;auraBridge: Response &amp;#43; Redirect intent
        auraBridge-&amp;gt;&amp;gt;user: login.otp.success: Great! you are now signed in
        auraBridge-&amp;gt;&amp;gt;auraBot: intent.billing from redirect intent
        auraBot-&amp;gt;&amp;gt;auraBot: authenticates the user and executes the billing dialog
        auraBot-&amp;gt;&amp;gt;auraBridge: 
        auraBridge-&amp;gt;&amp;gt;user: &amp;#34;Here is your billing data&amp;#34;
    else
        Note left of T&amp;amp;C API: User needs to accept authenticated T&amp;amp;C
        auraBot-&amp;gt;&amp;gt;T&amp;amp;C API: Checks terms and conditions
        T&amp;amp;C API-&amp;gt;&amp;gt;auraBot: 404 Not found
        auraBot-&amp;gt;&amp;gt;auraBridge: Response &amp;#43; Redirect intent
        auraBridge-&amp;gt;&amp;gt;user: login.otp.success: Great! you are now signed in
        auraBridge-&amp;gt;&amp;gt;auraBot: intent.onboarding.terms-and-conditions from redirect intent
        auraBot-&amp;gt;&amp;gt;auraBot: authenticates the user and executes T&amp;amp;C dialog
        auraBot-&amp;gt;&amp;gt;auraBridge: 
        auraBridge-&amp;gt;&amp;gt;user: onboarding:onboarding.auth.welcome
        auraBridge-&amp;gt;&amp;gt;user: onboarding:onboarding.auth.privacy
        auraBridge-&amp;gt;&amp;gt;user: onboarding:onboarding.auth.terms-and-conditions
    else
        Note left of T&amp;amp;C API: Channel doesn&amp;#39;t have terms and conditions config
        auraBot-&amp;gt;&amp;gt;auraBridge: Response &amp;#43; Redirect intent
        auraBridge-&amp;gt;&amp;gt;user: login.otp.success: Great! you are now signed in
        auraBridge-&amp;gt;&amp;gt;auraBot: intent.billing from redirect intent
        auraBot-&amp;gt;&amp;gt;auraBot: authenticates the user and executes the billing dialog
        auraBot-&amp;gt;&amp;gt;auraBridge: 
        auraBridge-&amp;gt;&amp;gt;user: &amp;#34;Here is your billing data&amp;#34;
    end
end&lt;/pre&gt;
&lt;h2 id=&#34;botresponse-settings&#34;&gt;BotResponse settings&lt;/h2&gt;
&lt;p&gt;Currently, the dialog has a main intent &lt;code&gt;intent.authentication.login&lt;/code&gt; and three auxiliary intents: &lt;code&gt;otp-confirm-user-phone-number-dialog&lt;/code&gt;, &lt;code&gt;intent.authentication.otp.phone.number&lt;/code&gt; and &lt;code&gt;intent.authentication.otp.auth.code&lt;/code&gt;. These auxiliary intents are necessary to enable the flow between sub-dialogs.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;whatsapp-otp-login-dialog&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;triggerConditions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.authentication.login&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;otp-confirm-user-phone-number-dialog&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;triggerConditions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.otp.confirm.user.phone.number.dialog&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;otp-phone-number-dialog&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;triggerConditions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.authentication.otp.phone.number&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a40000&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;id&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;otp-sms-auth-code-dialog&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;triggerConditions&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;&amp;#34;intent&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;intent.authentication.otp.auth.code&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;settings&#34;&gt;Settings&lt;/h2&gt;
&lt;p&gt;This section lists and describes all the variables the &lt;em&gt;&lt;strong&gt;whatsapp-otp-login&lt;/strong&gt;&lt;/em&gt; dialog uses and that can be configured to adapt the environment:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Default value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;LINKING_FP_WHATSAPP_ENDPOINT&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;WhatsApp API endpoint&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;LINKING_WA_MAX_FP_SEND_SMS_RETRIES&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;Maximum SMS retries.&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;LINKING_WA_MAX_AUTHCODE_RETRIES&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;Maximum authcode retries.&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;LINKING_WA_MAX_PHONENUMBER_RETRIES&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;Maximum phonenumber retries.&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: </title>
      <link>/docs/components/global-use-cases/authentication-dialogs/whatsapp-logout-dialog/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/components/global-use-cases/authentication-dialogs/whatsapp-logout-dialog/</guid>
      <description>
        
        
        &lt;h1 id=&#34;whatsapp-logout-dialog&#34;&gt;whatsapp-logout dialog&lt;/h1&gt;


&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;
&lt;p&gt;Description of the &lt;em&gt;&lt;strong&gt;whatsapp-logout&lt;/strong&gt;&lt;/em&gt; dialog, that handles the log out process for this channel&lt;/p&gt;

&lt;/div&gt;

&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;&lt;strong&gt;whatsapp-logout&lt;/strong&gt;&lt;/em&gt; dialog is a global dialog in charge of the user&amp;rsquo;s logout in the WhatsApp channel.&lt;/p&gt;
&lt;p&gt;&amp;#x1f4c3; Check the dialog’s code in the &lt;a href=&#34;https://github.com/Telefonica/aura-bot-libraries/blob/master/packages/linking/src/whatsapp/whatsapp-logout-dialog.ts&#34;&gt;aura-bot-libraries Github repository&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;flows&#34;&gt;Flows&lt;/h2&gt;
&lt;p&gt;The flow of this dialog is simple. In the first step, a prompt is returned to the user to confirm if he wants to logout.&lt;/p&gt;
&lt;p&gt;After that, if he accepts, certain actions are performed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The user is deleted in Aura database calling the &lt;a href=&#34;https://developers.baikalplatform.com/apis/aura-services/global-int-current/v1/#operation/deleteAuraId&#34;&gt;&lt;em&gt;&lt;strong&gt;aura services&lt;/strong&gt;&lt;/em&gt; API&lt;/a&gt;. If this call fails, an error will be returned, and the logout will fail.&lt;/li&gt;
&lt;li&gt;The user is deleted in &lt;strong&gt;Kernel&lt;/strong&gt; calling the &lt;a href=&#34;https://developers.baikalplatform.com/docs/latest/apis/api-access/logout.html&#34;&gt;logout endpoint&lt;/a&gt;. If this call fails, the flow continues normally returning a success message to the user and only showing an error log.&lt;/li&gt;
&lt;li&gt;If the user is logged with LoA3, access session is deleted in &lt;strong&gt;Kernel&lt;/strong&gt; calling &lt;a href=&#34;https://developers.baikalplatform.com/apis/access-sessions/global-int-current/v1/#operation/deleteSignleAccessSessions&#34;&gt;access session delete endpoint&lt;/a&gt;. If this call fails, the flow continues normally returning a success message and only showing the error in logs.&lt;/li&gt;
&lt;li&gt;The local cache is set to invalid to force the refresh next time the user interacts with Aura.&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
