LIX TALLAABO
Lix tallaabo. Hal qadhaadhic. Soomaali ahaan, Inglish ahaan, ama Ciraaqi ahaan.
01 / 06
SDK-yada JaalleID waxay ku jiraan registries-ka caadiga ah ee luqaddaada. Hal sadar — kuma jiro qaab gaar ah.
# package.jsonnpm install @jaalle/id # or with pnpm / yarn / bunpnpm add @jaalle/id02 / 06
Hel client_id-ga iyo client_secret-ga JaalleID-gaaga laga bilaabo bogga "Barnaamijyada" — kaydiyo si saxa ah.
// .env.localJAALLEID_CLIENT_ID=jid_your_client_idJAALLEID_CLIENT_SECRET=jid_sec_xxxJAALLEID_REDIRECT_URI=https://app.example.so/callback // lib/jaalleid.tsimport { JaalleID } from '@jaalle/id' export const jaalle = new JaalleID({ clientId: process.env.JAALLEID_CLIENT_ID!, clientSecret: process.env.JAALLEID_CLIENT_SECRET!, redirectUri: process.env.JAALLEID_REDIRECT_URI!,})Talo
Codso furayaal "Tijaabo" markaad horumarinayso. Marka aad diyaar tahay heer toos ah, sare u qaad client-kaaga adigoo isticmaalaya zirka "Live" ee dashboard-ka.
03 / 06
PKCE-da S256, state-ka iska caabbinta CSRF, iyo doorashada scope waxa la maamulaa SDK-da.
// app/login/route.ts (Next.js App Router)import { jaalle } from '@/lib/jaalleid'import { cookies } from 'next/headers' export async function GET() { const { url, verifier, state } = await jaalle.signIn({ scope: 'openid profile email kyc_status trust_score', }) // Store PKCE verifier + CSRF state for the callback ;(await cookies()).set('jaalleid_verifier', verifier, { httpOnly: true }) ;(await cookies()).set('jaalleid_state', state, { httpOnly: true }) return Response.redirect(url)}04 / 06
JaalleID waxay kuugu soo celisa redirect_uri-ga ?code= iyo ?state=. Hubi state-ka, ka dibna ku beddel code-ka tokens.
// app/callback/route.tsimport { jaalle } from '@/lib/jaalleid'import { cookies } from 'next/headers' export async function GET(req: Request) { const { searchParams } = new URL(req.url) const code = searchParams.get('code')! const state = searchParams.get('state')! const c = await cookies() if (state !== c.get('jaalleid_state')?.value) return new Response('bad state', { status: 400 }) const tokens = await jaalle.exchangeCode({ code, verifier: c.get('jaalleid_verifier')!.value, }) // tokens.access_token · tokens.id_token · tokens.refresh_token return Response.json(tokens)}05 / 06
Userinfo wuxuu kuu soo celiyaa JaalleID-ga, heerka KYC, dhibcaha kalsoonida, iyo heerka aqoonsiga.
// app/me/route.tsconst userInfo = await jaalle.userInfo({ accessToken: tokens.access_token }) // → {// sub: "uuid",// jaalle_id: "JID-A3K7M9PQ-R2T4",// name: "Mohamed Hassan",// phone_verified: true,// kyc_tier: "VERIFIED",// trust_score: 78,// identity_level: 2,// } if (userInfo.identity_level < 3) { throw new Error('L3 sovereign identity required for this action')}{ "sub": "550e8400-e29b-41d4-a716-446655440000", "jaalle_id": "JID-A3K7M9PQ-R2T4", "name": "Mohamed Hassan", "email": "mohamed@example.com", "email_verified": true, "phone": "+252615551234", "phone_verified": true, "kyc_tier": "VERIFIED", "trust_score": 78, "identity_level": 2}06 / 06
Heerka tijaabada wuxuu siiyaa 10 isticmaale qariye, OTP saxda ah tahay "000000", iyo dhammaan heerka KYC L0–L4 ayaa diyaar ah.
Telefon tijaabo
+252 615 000 000OTP
000000Three things before going live.