Logto คือทางเลือกแทน Auth0 ที่ออกแบบมาสำหรับแอปและผลิตภัณฑ์ SaaS ยุคใหม่ โดยมีทั้งบริการ Cloud และ Open-source เพื่อช่วยให้คุณเปิดตัวระบบการจัดการเอกลักษณ์และการเข้าถึง (IAM) ได้อย่างรวดเร็ว สนุกกับการยืนยันตัวตน (การยืนยันตัวตน), การอนุญาต (การอนุญาต), และการจัดการหลายผู้เช่า ครบจบในที่เดียว
เราแนะนำให้เริ่มต้นด้วย tenant สำหรับการพัฒนาแบบฟรีบน Logto Cloud เพื่อให้คุณสามารถสำรวจฟีเจอร์ทั้งหมดได้อย่างง่ายดาย
ในบทความนี้ เราจะพาคุณไปทีละขั้นตอนเพื่อสร้างประสบการณ์ลงชื่อเข้าใช้ Okta enterprise SSO (การยืนยันตัวตนของผู้ใช้) อย่างรวดเร็วด้วย .NET Core (Razor Pages) และ Logto
ข้อกำหนดเบื้องต้น
- มี Logto instance ที่พร้อมใช้งาน ดู หน้าแนะนำ เพื่อเริ่มต้นใช้งาน
 - มีความรู้พื้นฐานเกี่ยวกับ .NET Core (Razor Pages)
 - มีบัญชี Okta enterprise SSO ที่ใช้งานได้
 
สร้างแอปพลิเคชันใน Logto
Logto สร้างขึ้นบนพื้นฐานของการยืนยันตัวตน OpenID Connect (OIDC) และการอนุญาต OAuth 2.0 โดยรองรับการจัดการข้อมูลระบุตัวตนแบบรวมศูนย์ข้ามหลายแอปพลิเคชัน ซึ่งมักเรียกว่า การลงชื่อเข้าใช้ครั้งเดียว (Single Sign-On; SSO)
ในการสร้างแอปพลิเคชัน เว็บแบบดั้งเดิม ของคุณ เพียงทำตามขั้นตอนเหล่านี้:
- เปิด Logto Console ในส่วน "เริ่มต้นใช้งาน" ให้คลิกที่ลิงก์ "ดูทั้งหมด" เพื่อเปิดรายการเฟรมเวิร์กของแอปพลิเคชัน หรือคุณสามารถไปที่ Logto Console > Applications แล้วคลิกปุ่ม "สร้างแอปพลิเคชัน"
 - ในหน้าต่างที่เปิดขึ้น ให้คลิกที่ส่วน "เว็บแบบดั้งเดิม" หรือกรองเฟรมเวิร์ก "เว็บแบบดั้งเดิม" ทั้งหมดที่มีโดยใช้ช่องกรองด่วนทางซ้ายมือ จากนั้นคลิกที่การ์ดเฟรมเวิร์ก ".NET Core (Razor Pages)" เพื่อเริ่มสร้างแอปพลิเคชันของคุณ
 - กรอกชื่อแอปพลิเคชัน เช่น "Bookstore" แล้วคลิก "สร้างแอปพลิเคชัน"
 
🎉 เยี่ยมมาก! คุณเพิ่งสร้างแอปพลิเคชันแรกของคุณใน Logto คุณจะเห็นหน้าข้อความแสดงความยินดีซึ่งมีคู่มือการเชื่อมต่ออย่างละเอียด ให้ทำตามคู่มือเพื่อดูประสบการณ์ที่จะเกิดขึ้นในแอปพลิเคชันของคุณ
ผสานรวม .NET Core (Razor Pages) กับ Logto
- ตัวอย่างสาธิตต่อไปนี้สร้างขึ้นบน .NET Core 8.0 โดย SDK สามารถใช้งานร่วมกับ .NET 6.0 ขึ้นไปได้
 - โปรเจกต์ตัวอย่าง .NET Core มีให้ใน GitHub repository
 
การติดตั้ง (Installation)
เพิ่มแพ็กเกจ NuGet ลงในโปรเจกต์ของคุณ:
dotnet add package Logto.AspNetCore.Authentication
เพิ่มการยืนยันตัวตน Logto (Add Logto authentication)
เปิด Startup.cs (หรือ Program.cs) และเพิ่มโค้ดต่อไปนี้เพื่อจดทะเบียนบริการการยืนยันตัวตน Logto:
using Logto.AspNetCore.Authentication;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddLogtoAuthentication(options =>
{
  options.Endpoint = builder.Configuration["Logto:Endpoint"]!;
  options.AppId = builder.Configuration["Logto:AppId"]!;
  options.AppSecret = builder.Configuration["Logto:AppSecret"];
});
เมธอด AddLogtoAuthentication จะดำเนินการดังต่อไปนี้:
- กำหนดสคีมการยืนยันตัวตนเริ่มต้นเป็น 
LogtoDefaults.CookieScheme - กำหนดสคีม challenge เริ่มต้นเป็น 
LogtoDefaults.AuthenticationScheme - กำหนดสคีม sign-out เริ่มต้นเป็น 
LogtoDefaults.AuthenticationScheme - เพิ่ม handler สำหรับ cookie และ OpenID Connect ลงในสคีมการยืนยันตัวตน
 
กระบวนการลงชื่อเข้าใช้และออกจากระบบ (Sign-in and sign-out flows)
ก่อนที่เราจะดำเนินการต่อ มีคำศัพท์ที่อาจสร้างความสับสนอยู่ 2 คำใน middleware การยืนยันตัวตนของ .NET Core ที่ควรชี้แจงให้ชัดเจน:
- CallbackPath: URI ที่ Logto จะเปลี่ยนเส้นทาง (redirect) ผู้ใช้กลับมาหลังจากที่ผู้ใช้ลงชื่อเข้าใช้แล้ว (คือ "redirect URI" ใน Logto)
 - RedirectUri: URI ที่จะถูกเปลี่ยนเส้นทางไปหลังจากดำเนินการที่จำเป็นใน middleware การยืนยันตัวตนของ Logto เสร็จสิ้น
 
กระบวนการลงชื่อเข้าใช้สามารถอธิบายได้ดังนี้:
ในทำนองเดียวกัน .NET Core ยังมี SignedOutCallbackPath และ RedirectUri สำหรับขั้นตอนการลงชื่อออก
เพื่อความชัดเจน เราจะอ้างอิงคำเหล่านี้ดังนี้:
| คำที่เราใช้ | คำศัพท์ใน .NET Core | 
|---|---|
| Logto redirect URI | CallbackPath | 
| Logto post sign-out redirect URI | SignedOutCallbackPath | 
| Application redirect URI | RedirectUri | 
เกี่ยวกับการลงชื่อเข้าใช้แบบเปลี่ยนเส้นทาง (redirect-based sign-in)
- กระบวนการยืนยันตัวตนนี้เป็นไปตามโปรโตคอล OpenID Connect (OIDC) และ Logto บังคับใช้มาตรการรักษาความปลอดภัยอย่างเข้มงวดเพื่อปกป้องการลงชื่อเข้าใช้ของผู้ใช้
 - หากคุณมีหลายแอป คุณสามารถใช้ผู้ให้บริการข้อมูลระบุตัวตน (Logto) เดียวกันได้ เมื่อผู้ใช้ลงชื่อเข้าใช้แอปหนึ่งแล้ว Logto จะดำเนินการลงชื่อเข้าใช้โดยอัตโนมัติเมื่อผู้ใช้เข้าถึงแอปอื่น
 
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเหตุผลและประโยชน์ของการลงชื่อเข้าใช้แบบเปลี่ยนเส้นทาง โปรดดูที่ อธิบายประสบการณ์การลงชื่อเข้าใช้ของ Logto
กำหนดค่า redirect URI (Configure redirect URIs)
ในตัวอย่างโค้ดต่อไปนี้ เราถือว่าแอปของคุณกำลังทำงานอยู่ที่ http://localhost:3000/
ก่อนอื่น มาตั้งค่า Logto redirect URI กันก่อน เพิ่ม URI ต่อไปนี้ลงในรายการ "Redirect URIs" ในหน้ารายละเอียดแอป Logto:
http://localhost:3000/Callback
หากต้องการตั้งค่า Logto post sign-out redirect URI ให้เพิ่ม URI ต่อไปนี้ลงในรายการ "Post sign-out redirect URIs" ในหน้ารายละเอียดแอป Logto:
http://localhost:3000/SignedOutCallback
เปลี่ยนเส้นทางเริ่มต้น
Logto redirect URI มีเส้นทางเริ่มต้นเป็น /Callback และ Logto post sign-out redirect URI มีเส้นทางเริ่มต้นเป็น /SignedOutCallback
คุณสามารถปล่อยไว้ตามเดิมหากไม่มีข้อกำหนดพิเศษ หากต้องการเปลี่ยน สามารถตั้งค่าคุณสมบัติ CallbackPath และ SignedOutCallbackPath สำหรับ LogtoOptions ได้ดังนี้:
builder.Services.AddLogtoAuthentication(options =>
{
  // การตั้งค่าอื่น ๆ...
  options.CallbackPath = "/Foo";
  options.SignedOutCallbackPath = "/Bar";
});
อย่าลืมอัปเดตค่าดังกล่าวในหน้ารายละเอียดแอป Logto ให้ตรงกันด้วย
สร้างปุ่มลงชื่อเข้าใช้ / ออกจากระบบ (Implement sign-in / sign-out buttons)
ก่อนอื่น ให้เพิ่มเมธอด handler ลงใน PageModel ของคุณ ตัวอย่างเช่น:
// เพิ่มเมธอด handler สำหรับการลงชื่อเข้าใช้และออกจากระบบ
public class IndexModel : PageModel
{
  public async Task OnPostSignInAsync()
  {
    await HttpContext.ChallengeAsync(new AuthenticationProperties
    {
      RedirectUri = "/"
    });
  }
  public async Task OnPostSignOutAsync()
  {
    await HttpContext.SignOutAsync(new AuthenticationProperties
    {
      RedirectUri = "/"
    });
  }
}
จากนั้น เพิ่มปุ่มลงในหน้า Razor ของคุณ:
<p>ตรวจสอบการยืนยันตัวตน: @User.Identity?.IsAuthenticated</p>
<form method="post">
  @if (User.Identity?.IsAuthenticated == true) {
    <button type="submit" asp-page-handler="SignOut">ออกจากระบบ</button>
  } else {
    <button type="submit" asp-page-handler="SignIn">ลงชื่อเข้าใช้</button>
  }
</form>
ระบบจะแสดงปุ่ม "ลงชื่อเข้าใช้" หากผู้ใช้ยังไม่ได้รับการยืนยันตัวตน และจะแสดงปุ่ม "ออกจากระบบ" หากผู้ใช้ได้รับการยืนยันตัวตนแล้ว
จุดตรวจสอบ: ทดสอบแอปพลิเคชันของคุณ
ตอนนี้คุณสามารถทดสอบแอปพลิเคชันของคุณได้แล้ว:
- รันแอปพลิเคชันของคุณ คุณจะเห็นปุ่มลงชื่อเข้าใช้
 - คลิกปุ่มลงชื่อเข้าใช้ SDK จะเริ่มกระบวนการลงชื่อเข้าใช้และเปลี่ยนเส้นทางคุณไปยังหน้าลงชื่อเข้าใช้ของ Logto
 - หลังจากที่คุณลงชื่อเข้าใช้แล้ว คุณจะถูกเปลี่ยนเส้นทางกลับไปยังแอปพลิเคชันของคุณและเห็นปุ่มลงชื่อออก
 - คลิกปุ่มลงชื่อออกเพื่อเคลียร์ที่เก็บโทเค็นและออกจากระบบ
 
เพิ่มตัวเชื่อมต่อ Okta enterprise SSO
เพื่อให้ง่ายต่อการจัดการการเข้าถึงและได้รับการปกป้องในระดับองค์กรสำหรับลูกค้ารายใหญ่ของคุณ เชื่อมต่อกับ .NET Core (Razor Pages) ในฐานะผู้ให้บริการข้อมูลระบุตัวตนแบบเฟเดอเรต (federated identity provider) ตัวเชื่อมต่อ Logto Enterprise SSO ช่วยให้คุณสร้างการเชื่อมต่อนี้ได้ภายในไม่กี่นาทีโดยการกรอกพารามิเตอร์เพียงไม่กี่รายการ
ในการเพิ่มตัวเชื่อมต่อ Enterprise SSO ให้ทำตามขั้นตอนดังนี้:
- คลิกปุ่ม "Add enterprise connector" และเลือกประเภทผู้ให้บริการ SSO ของคุณ เลือกจากตัวเชื่อมต่อสำเร็จรูปสำหรับ Microsoft Entra ID (Azure AD), Google Workspace, และ Okta หรือสร้างการเชื่อมต่อ SSO แบบกำหนดเองโดยใช้มาตรฐาน OpenID Connect (OIDC) หรือ SAML
 - กำหนดชื่อที่ไม่ซ้ำกัน (เช่น SSO sign-in for Acme Company)
 
- ตั้งค่าการเชื่อมต่อกับ IdP ของคุณในแท็บ "Connection" ดูคู่มือด้านบนสำหรับแต่ละประเภทตัวเชื่อมต่อ
 
- ปรับแต่งประสบการณ์ SSO และ โดเมนอีเมล ขององค์กรในแท็บ "Experience" ผู้ใช้ที่ลงชื่อเข้าใช้ด้วยโดเมนอีเมลที่เปิดใช้ SSO จะถูกเปลี่ยนเส้นทางไปยังการยืนยันตัวตน SSO
 
- บันทึกการเปลี่ยนแปลง
 
ตั้งค่า OIDC application on Okta admin portal
ขั้นตอนที่ 1: สร้างแอป OIDC บน Okta admin portal
- ไปที่พอร์ทัลผู้ดูแลระบบ Okta และลงชื่อเข้าใช้ในฐานะผู้ดูแลระบบ
 - ไปที่หน้า 
Applications/Applicationsโดยใช้เมนูด้านข้าง - คลิกปุ่ม 
Create App Integrationเพื่อสร้างแอป OIDC ใหม่ - เลือกตัวเลือก 
OIDC - OpenID Connectเป็นSign-in method - เลือกตัวเลือก 
Web Applicationเป็นApplication type 
คลิกปุ่ม Next เพื่อดำเนินการต่อ
ขั้นตอนที่ 2: กำหนดค่าการตั้งค่าแอปพลิเคชัน
- กำหนด 
App integration nameซึ่งจะใช้เป็นตัวระบุของแอปพลิเคชัน OIDC ของคุณ - เพิ่ม 
Sign-in redirect URIsใหม่โดยใช้ callback URL ของตัวเชื่อมต่อ Logto SSO 
นี่คือ URI ที่ Okta จะเปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้หลังจากการยืนยันตัวตน (Authentication) สำเร็จ เมื่อผู้ใช้ยืนยันตัวตนกับ IdP สำเร็จ IdP จะเปลี่ยนเส้นทางเบราว์เซอร์ของผู้ใช้กลับมาที่ URI ที่กำหนดนี้พร้อมกับรหัสการอนุญาต (authorization code) Logto จะดำเนินการยืนยันตัวตน (Authentication) ให้สมบูรณ์โดยอิงจากรหัสการอนุญาตที่ได้รับจาก URI นี้
- กำหนดผู้ใช้ให้กับแอปพลิเคชัน
 
ตามการตั้งค่า Assignments คุณสามารถเลือกกำหนดแอปพลิเคชันให้กับผู้ใช้ทั้งหมด หรือเฉพาะผู้ใช้ / กลุ่มที่ต้องการ
คลิกปุ่ม Save เพื่อบันทึกการตั้งค่าแอปพลิเคชัน
ขั้นตอนที่ 3: ตั้งค่าตัวเชื่อมต่อ Logto ด้วย client credentials
หลังจากสร้างแอปพลิเคชัน OIDC สำเร็จแล้ว คุณจะถูกเปลี่ยนเส้นทางไปยังหน้ารายละเอียดของแอปพลิเคชัน
คัดลอก client ID และ client secret แล้วกรอกลงในช่องที่เกี่ยวข้องบนแท็บ Connection ของตัวเชื่อมต่อ SSO ของ Logto
ใช้โดเมน Okta ของคุณเป็น issuer ตัวอย่าง: https://dev-12345678.okta.com เมื่อกรอกข้อมูลครบทุกช่องแล้ว ให้คลิกปุ่ม Save เพื่อบันทึกการตั้งค่าตัวเชื่อมต่อ
หากลิงก์ issuer ที่คุณให้มาถูกต้อง คุณจะเห็นรายการการตั้งค่า Okta IdP ที่ถูกแยกแสดงแบบเต็มด้านล่างช่อง issuer
ขั้นตอนที่ 4: ขอบเขตเพิ่มเติม (ไม่บังคับ)
ขอบเขต (Scopes) กำหนดสิทธิ์ (Permissions) ที่แอปของคุณร้องขอจากผู้ใช้ และควบคุมว่าแอปของคุณสามารถเข้าถึงข้อมูลใดจากบัญชี Okta ของพวกเขาได้ การร้องขอสิทธิ์ Okta เพิ่มเติมจำเป็นต้องมีการกำหนดค่าทั้งสองฝั่ง:
ใน Okta admin console:
- ไปที่ Applications > Applications และเลือกแอป OIDC ของคุณ
 - ไปที่แท็บ Assignments เพื่อให้แน่ใจว่าแอปของคุณสามารถเข้าถึงผู้ใช้และกลุ่มที่ต้องการได้
 - สำหรับขอบเขตแบบกำหนดเอง ให้ไปที่ Security > API > Authorization Servers และเลือก authorization server ของคุณ
 - เพิ่มขอบเขตแบบกำหนดเองหากจำเป็น:
- คลิก Scopes แล้วเลือก Add Scope
 - กำหนดชื่อขอบเขต เช่น 
okta.users.readหรือokta.groups.readสำหรับการเข้าถึง Okta APIs - กำหนดข้อกำหนดการขอความยินยอม (consent) สำหรับแต่ละขอบเขต
 
 
สำหรับรายการขอบเขตที่มีทั้งหมดและคำอธิบาย โปรดดูที่ เอกสาร Okta OIDC
ใน Logto Okta connector:
- Logto จะเพิ่มขอบเขต 
openid,profileและemailโดยอัตโนมัติเพื่อดึงข้อมูลตัวตนพื้นฐานของผู้ใช้ คุณสามารถเว้นว่างช่องScopesได้หากต้องการเพียงข้อมูลผู้ใช้พื้นฐาน - เพิ่ม 
offline_accessในช่องScopesหากคุณต้องการจัดเก็บโทเค็นเพื่อเข้าถึง API แบบถาวร ขอบเขตนี้จะเปิดใช้งานโทเค็นรีเฟรช (Refresh token) สำหรับการเข้าถึง API ระยะยาว - เพิ่มขอบเขตเพิ่มเติม (คั่นด้วยช่องว่าง) ในช่อง 
Scopesเพื่อร้องขอข้อมูลเพิ่มเติมจาก Okta เช่นokta.users.read okta.groups.read 
หากแอปของคุณร้องขอขอบเขตเหล่านี้เพื่อเข้าถึง Okta APIs และดำเนินการต่าง ๆ โปรดตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน Store tokens for persistent API access ใน Logto Okta connector ดูรายละเอียดในหัวข้อถัดไป
ขั้นตอนที่ 5: จัดเก็บโทเค็นเพื่อเข้าถึง Okta API (ไม่บังคับ)
หากคุณต้องการเข้าถึง Okta scopes และดำเนินการต่าง ๆ ด้วยการอนุญาตของผู้ใช้ Logto จำเป็นต้องขอขอบเขต (scopes) เฉพาะและจัดเก็บโทเค็น
- เพิ่มขอบเขตที่จำเป็นในหน้าตั้งค่าสิทธิ์ API ของ Okta developer console และในตัวเชื่อมต่อ Okta ของ Logto
 - เปิดใช้งาน จัดเก็บโทเค็นสำหรับการเข้าถึง API แบบถาวร ในตัวเชื่อมต่อ Okta ของ Logto โดย Logto จะจัดเก็บ Okta access และ refresh tokens อย่างปลอดภัยใน Secret Vault
 - เพื่อให้แน่ใจว่า refresh tokens จะถูกส่งกลับ ให้เพิ่มขอบเขต 
offline_accessในสิทธิ์ของแอป Okta ของคุณ และรวมไว้ในขอบเขตของตัวเชื่อมต่อ Okta ของ Logto ด้วย ขอบเขตนี้จะช่วยให้แอปของคุณสามารถเข้าถึงทรัพยากรได้เป็นระยะเวลานาน 
ขั้นตอนที่ 6: ตั้งค่าโดเมนอีเมลและเปิดใช้งานตัวเชื่อมต่อ SSO
ระบุ email domains ขององค์กรของคุณในแท็บ SSO experience ของตัวเชื่อมต่อ Logto การดำเนินการนี้จะเปิดใช้งานตัวเชื่อมต่อ SSO เป็นวิธีการยืนยันตัวตนสำหรับผู้ใช้เหล่านั้น
ผู้ใช้ที่มีที่อยู่อีเมลในโดเมนที่ระบุจะถูกเปลี่ยนเส้นทางให้ใช้ตัวเชื่อมต่อ SSO ของคุณเป็นวิธีการยืนยันตัวตนเพียงวิธีเดียว
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างการเชื่อมต่อ OIDC กับ Okta โปรดดูที่ Create OIDC App Integrations
บันทึกการตั้งค่าของคุณ
โปรดตรวจสอบให้แน่ใจว่าคุณได้กรอกค่าที่จำเป็นในพื้นที่การตั้งค่าตัวเชื่อมต่อ Logto เรียบร้อยแล้ว คลิก "บันทึกและเสร็จสิ้น" (หรือ "บันทึกการเปลี่ยนแปลง") และตัวเชื่อมต่อ Okta enterprise SSO ควรพร้อมใช้งานแล้ว
เปิดใช้งานตัวเชื่อมต่อ Okta enterprise SSO ในประสบการณ์การลงชื่อเข้าใช้
คุณไม่จำเป็นต้องตั้งค่าตัวเชื่อมต่อองค์กร (enterprise connectors) ทีละตัว Logto ช่วยให้การผสานรวม SSO เข้ากับแอปพลิเคชันของคุณง่ายขึ้นเพียงคลิกเดียว
- ไปที่: Console > ประสบการณ์การลงชื่อเข้าใช้ > การสมัครและลงชื่อเข้าใช้
 - เปิดใช้งานสวิตช์ "SSO สำหรับองค์กร (Enterprise SSO)"
 - บันทึกการเปลี่ยนแปลง
 
เมื่อเปิดใช้งานแล้ว จะมีปุ่ม "การลงชื่อเข้าใช้ครั้งเดียว (Single Sign-On)" ปรากฏในหน้าลงชื่อเข้าใช้ของคุณ ผู้ใช้ระดับองค์กรที่มีโดเมนอีเมลที่เปิดใช้งาน SSO สามารถเข้าถึงบริการของคุณผ่านผู้ให้บริการข้อมูลระบุตัวตน (IdPs) ขององค์กรตนเอง
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับประสบการณ์ผู้ใช้ SSO รวมถึง SSO ที่เริ่มต้นโดย SP และ SSO ที่เริ่มต้นโดย IdP โปรดดูที่ User flows: SSO สำหรับองค์กร (Enterprise SSO)
การทดสอบและการตรวจสอบความถูกต้อง
กลับไปที่แอป .NET Core (Razor Pages) ของคุณ ตอนนี้คุณควรจะสามารถลงชื่อเข้าใช้ด้วย Okta enterprise SSO ได้แล้ว ขอให้สนุก!
อ่านเพิ่มเติม
กระบวนการสำหรับผู้ใช้ปลายทาง: Logto มีโฟลว์การยืนยันตัวตนสำเร็จรูปพร้อมใช้งาน รวมถึง MFA และ Enterprise SSO พร้อม API อันทรงพลังสำหรับการปรับแต่งการตั้งค่าบัญชี การตรวจสอบความปลอดภัย และประสบการณ์แบบหลายผู้เช่า (multi-tenant) ได้อย่างยืดหยุ่น
การอนุญาต (Authorization): การอนุญาต (Authorization) กำหนดว่าผู้ใช้สามารถทำอะไรหรือเข้าถึงทรัพยากรใดได้บ้างหลังจากได้รับการยืนยันตัวตนแล้ว สำรวจวิธีปกป้อง API ของคุณสำหรับแอปเนทีฟและแอปหน้าเดียว (SPA) และการใช้งานการควบคุมการเข้าถึงตามบทบาท (RBAC)
องค์กร (Organizations): ฟีเจอร์องค์กรมีประสิทธิภาพอย่างยิ่งใน SaaS แบบหลายผู้เช่าและแอป B2B โดยช่วยให้สร้างผู้เช่า จัดการสมาชิก RBAC ระดับองค์กร และ Just-in-Time Provisioning ได้
ชุดบทความ Customer IAM: บทความต่อเนื่องเกี่ยวกับการจัดการข้อมูลระบุตัวตนและการเข้าถึงของลูกค้า (Customer IAM) ตั้งแต่ระดับพื้นฐาน 101 ไปจนถึงหัวข้อขั้นสูงและอื่น ๆ