<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.ctapi.in/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.ctapi.in/feed.php">
        <title>wiki - authentication</title>
        <description></description>
        <link>https://wiki.ctapi.in/</link>
        <image rdf:resource="https://wiki.ctapi.in/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-17T15:32:21+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.ctapi.in/doku.php?id=authentication:send_sms&amp;rev=1773041222&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.ctapi.in/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>wiki</title>
        <link>https://wiki.ctapi.in/</link>
        <url>https://wiki.ctapi.in/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.ctapi.in/doku.php?id=authentication:send_sms&amp;rev=1773041222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-09T07:27:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>send_sms</title>
        <link>https://wiki.ctapi.in/doku.php?id=authentication:send_sms&amp;rev=1773041222&amp;do=diff</link>
        <description>Overview

A system where users can log in using their phone number + SMS OTP instead of username/password, powered by Keycloak + Exotel.

Architecture


User (Browser/App)
↓ enter phone number
Node.js Server (64.227.190.56:3000)
↓ phone → find username by Keycloak admin API
↓ Keycloak login form proxy
Keycloak SPI (Java)
↓ OTP generate + store
↓ call webhook
Node.js Webhook
↓ call Exotel API
Exotel → SMS → User phone
↓ enter User OTP
Keycloak verify OTP→ return JWT Token&lt;/font&gt;…</description>
    </item>
</rdf:RDF>
