برای راهاندازی SSO با Microsoft Active Directory Federation Services یا AD FS، باید هم در AD FS و هم در Postman دسترسی مدیریتی داشته باشید. این روش برای تیمهایی مناسب است که ورود کاربران را از طریق زیرساخت Microsoft AD FS مدیریت میکنند.
پیشنیازها #
- یک Active Directory instance که کاربران در آن email address داشته باشند.
- SSL certificate از Microsoft AD FS server.
- سروری که Microsoft Server ۲۰۱۲ یا ۲۰۰۸ را اجرا کند.
- نصب و آمادهسازی Microsoft AD FS روی سرور.
شروع پیکربندی در Postman #
قبل از تنظیم AD FS، در Postman یک authentication method برای SSO بسازید. هنگام انتخاب Authentication Type، گزینه AD FS را انتخاب کنید، نام authentication را وارد کنید و ادامه دهید.

Add a relying party trust #
در AD FS، یک Relying Party Trust اتصال بین Microsoft AD FS و Postman را تعریف میکند. در AD FS Management پوشه Relying Party Trusts را باز کنید و از Actions گزینه Add Relying Party Trust را انتخاب کنید.

در مرحله انتخاب منبع، گزینه Enter data about the party manually را انتخاب کنید. سپس یک display name قابل تشخیص وارد کنید و در بخش profile، گزینه AD FS profile را انتخاب کنید.
در مرحله certificate، میتوانید Encryption Certificate دانلودشده از Postman را بارگذاری کنید یا از تنظیمات پیشفرض استفاده کنید.

در بخش URL، گزینه Enable support for the SAML 2.0 WebSSO protocol را فعال کنید و مقدار ACS URL را از Postman در فیلد Relying party SAML ۲.۰ SSO service URL قرار دهید.

در بخش identifiers، مقدار Entity ID را از Postman بردارید و به عنوان Relying party trust identifier اضافه کنید.

Create claim rules #
پس از ساخت relying party trust، باید دو claim rule بسازید. در AD FS Management همان trust را انتخاب کنید و روی Edit Claim Rules بزنید.

برای rule اول، template با نام Send LDAP Attributes as Claims را انتخاب کنید. Attribute store را Active Directory بگذارید، در LDAP Attribute مقدار E-Mail Addresses و در Outgoing Claim Type مقدار E-Mail Address را انتخاب کنید.

برای rule دوم، template با نام Transform an Incoming Claim را انتخاب کنید. Incoming claim type را E-mail Address، outgoing claim type را Name ID و outgoing name ID format را Email بگذارید. سپس Pass through all claim values را انتخاب کنید.


Change the hash algorithm #
در properties مربوط به relying party trust، وارد تب Advanced شوید و مقدار secure hash algorithm را روی SHA-1 بگذارید. سپس تغییرات را Apply و OK کنید.

Enable the RelayState parameter #
روی سرورهای AD FS باید RelayState را فعال کنید. برای AD FS ۲.۰ فایل زیر را ویرایش کنید:
%systemroot%\inetpub\adfs\ls\web.config
برای AD FS ۳.۰ فایل زیر را ویرایش کنید:
%systemroot%\ADFS\Microsoft.IdentityServer.Servicehost.exe.config
در بخش <microsoft.identityServer.web> این خط را اضافه کنید:
<useRelayStateForIdpInitiatedSignOn enabled="true" />
برای AD FS ۲.۰ دستور IISReset را اجرا کنید. سپس سرویس Active Directory Federation Services یا adfssrv را restart کنید.
ارسال جزئیات IdP به Postman #
در پایان، Federation Metadata XML را از Microsoft AD FS دانلود کنید. این فایل معمولا در مسیر زیر است:
https://<federation service name>/federationmetadata/2007-06/federationMetadata.xml
در Postman میتوانید همین فایل را در بخش Identity provider metadata بارگذاری کنید، یا SSO URL، Identity provider issuer و X.۵۰۹ Certificate را جداگانه وارد کنید. سپس روی Save Authentication بزنید.
منبع آموزشی: Postman Docs، بازنویسی و سادهسازیشده برای کاربران فارسیزبان.

