احراز هویت با رسانیکا

ورود امن کاربران به وب‌سایت شما با حساب رسانیکا، بدون نیاز به پیاده‌سازی سیستم احراز هویت.

راه‌اندازی

پس از ساخت اپ و ثبت originهای مجاز، فقط اسکریپت زیر را با شناسه اپ خود به صفحه اضافه کنید:

<script
  defer
  src="https://rasanika.com/assets/auth-service/client.js"
  data-app-id="YOUR_APP_ID"
></script>

ورود و خروج

// پنجره تایید حساب را باز می‌کند
const auth = await window.$rasanika.auth.login();

// { userId, appId } یا undefined
console.log(await window.$rasanika.auth.get());

await window.$rasanika.auth.logout();

ارسال درخواست احرازشده

متد auth.fetch توکن را تازه نگه می‌دارد و آن را به هدر درخواست اضافه می‌کند. گزینه canLogin در صورت نیاز فرایند ورود را شروع می‌کند.

const response = await window.$rasanika.auth.fetch(
  "/api/account",
  { method: "GET" },
  { canLogin: true }
);

اعتبارسنجی در سرور شما

برای کنترل دسترسی، توکن دریافتی در هدر Authorization را از سرور خود به endpoint زیر بفرستید. مقدار appId و origin پاسخ را نیز با تنظیمات اپ خود تطبیق دهید. نتیجهٔ سمت مرورگر به‌تنهایی معیار امنی برای مجوزدهی نیست.

POST https://rasanika.com/api/w/auth-service/user
Authorization: Bearer ACCESS_TOKEN
X-Rsauth-Origin: https://your-app.example

// response
{
  "uuid": "APP_SCOPED_USER_ID",
  "appId": "YOUR_APP_ID",
  "origin": "https://your-app.example",
  "name": "...",
  "imageUrl": "..."
}

رویدادها

رویدادهای ready و حالت‌های start، success و error برای عملیات login، logout، refresh و fetch روی window منتشر می‌شوند.

addEventListener("rasanika:auth:login-success", () => {
  // update your UI
});

رسانیکا