تعريف ملف تعريف OAuth2 التقني في نهج مخصص لمتاجرة العمل-المستهلك في Azure Active Directory

ملاحظة

في Azure Active Directory B2C، تم تصميم النُهج المخصصة بشكل أساسي لمعالجة السيناريوهات المعقدة. بالنسبة إلى معظم السيناريوهات، نوصي باستخدام تدفقات المستخدم المضمنة. إذا لم تقم بذلك، تعرف على حزمة بادئ النهج المخصصة في البدء باستخدام النهج المخصصة في Active Directory B2C.

توفر خدمة متاجرة العمل-المستهلك في Azure Active Directory (Azure AD B2C) الدعم لموفر هوية بروتوكول OAuth2. يُعد OAuth2 البروتوكول الأساسي للتخويل والمصادقة المفوضة. للحصول على مزيدٍ من المعلومات، راجعRFC 6749 The OAuth 2.0 Authorization Framework. باستخدام ملف تعريف OAuth2 التقني، يمكنك التوحد مع موفر هوية مستند إلى OAuth2، مثل Facebook. يسمح الاتحاد مع موفر الهوية للمستخدمين بتسجيل الدخول بهوياتهم الاجتماعية أو المؤسسية الحالية.

البروتوكول

يجب تعيين السمة Name للعنصر Protocol إلى OAuth2. على سبيل المثال، بروتوكول ملف التعريف التقني لـ Facebook-OAUTH هو OAuth2:

<TechnicalProfile Id="Facebook-OAUTH">
  <DisplayName>Facebook</DisplayName>
  <Protocol Name="OAuth2" />
  ...

مطالبات الإدخال

عنصرا InputClaims وInputClaimsTransformations غير مطلوبين. ولكن قد ترغب في إرسال المزيد من المعلمات إلى مزود الهوية الخاص بك. يضيف المثال التالي معلمة سلسلة الاستعلام domain_hint بقيمة contoso.com طلب التخويل.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="domain_hint" DefaultValue="contoso.com" />
</InputClaims>

مطالبات الناتج

يحتوي العنصرOutputClaimsعلى قائمة المطالبات التي تمت إعادتها بواسطة موفر الهوية OAuth2. قد تحتاج إلى تعيين اسم المطالبة المحددة في نهجك إلى الاسم المحدد في موفر الهوية. يمكنك أيضًا إدراج المطالبات التي لم تتم إعادتها بواسطة موفر الهوية، ما دمت تقوم بتعيين السمة DefaultValue.

قد يحتوي العنصر OutputClaimsTransformations على مجموعة من عناصر OutputClaimsTransformation التي تستخدم لتعديل مطالبات الناتج أو إنشاء مطالبات جديدة.

يوضح المثال التالي المطالبات التي تمت إعادتها من قبل موفر الهوية لـ Facebook:

  • تم تعيين المطالبة first_name إلى المطالبة givenName.
  • تم تعيين المطالبة last_name إلى المطالبة surname.
  • مطالبةdisplayName دون تعيين الاسم.
  • مطالبةemail دون تعيين الاسم.

كما يقوم الملف الفني بإرجاع المطالبات التي لم يتم إرجاعها من قِبل موفر الهوية:

  • مطالبةموفر الهويةالذي يحتوي على اسم موفر الهوية.
  • مطالبة مصدر المصادقة بقيمة افتراضية من socialIdpAuthentication.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="id" />
  <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="first_name" />
  <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="last_name" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
  <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="facebook.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

بيانات تعريف نقطة نهاية التفويض

يبدأ تدفق التفويض عندما يوجه Microsoft Azure Active Directory B2C المستخدم إلى نقطة نهاية موفري هوية OAuth2 /authorize. الاستدعاء إلى نقطة نهاية التفويض هو الجزء التفاعلي من التدفق، حيث يتخذ المستخدم إجراءً. في هذه المرحلة، يُطلب من المستخدم إكمال تسجيل الدخول لدى موفر هوية OAuth2. على سبيل المثال، عن طريق إدخال اسم المستخدم وكلمة المرور الخاصة بهم.

ينشئ Microsoft Azure Active Directory B2C طلب ترخيص من خلال توفير معرف العميل والنطاقات وإعادة توجيه URI والمعلمات الأخرى التي يحتاجها للحصول على رمز مميز للوصول من موفر الهوية. يصف هذا القسم بيانات التعريف لنقطة نهاية التفويض، والتي تسمح بتكوين الطلب إلى /authorize نقطة نهاية موفر الهوية.

طلب نقطة نهاية التفويض هو دائماً HTTP GET. يوضح النموذج التالي استدعاء لنقطة نهاية التخويل.

GET https://login.contoso.com/oauth/v2/authorization?
client_id=12345
&response_type=code
&response_mode=query
&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob
&scope=profile%20offline_access
&redirect_uri=https%3a%2f%2fabrikam.b2clogin.com%2fabrikam.onmicrosoft.com%2foauth2%2fauthresp
&state=...

يسرد الجدول التالي بيانات تعريف نقطة نهاية التفويض.

السمة مطلوب الوصف
authorization_endpoint نعم عنوان URL لنقطة النهاية التخويل وفقًا لـ RFC 6749.
client_id نعم معرف التطبيق الخاص بموفر الهوية.
AdditionalRequestQueryParameters لا عمليات طلب البحث الإضافية. على سبيل المثال، قد ترغب في إرسال معلمات إضافية إلى مزود الهوية الخاص بك. يمكنك تضمين معلمات متعددة باستخدام محدِّد الفاصلة.
response_mode لا الأسلوب الذي يستخدمه موفر الهوية لإرسال النتيجة مرة أخرى إلى Azure AD B2C. القيم المحتملة: query، أو form_post (الافتراضي)، أو fragment.
scope لا نطاق الطلب الذي تم تعريفه وفقًا لمواصفات موفر الهوية OAuth2. مثل openid، وprofile وemail.
UsePolicyInRedirectUri لا يشير إلى ما إذا كان يجب استخدام نهج عند إنشاء URI إعادة التوجيه. عند تكوين تطبيقك في موفر الهوية، تحتاج إلى تحديد URI إعادة التوجيه. يشير URI إعادة التوجيه إلى Azure AD B2C، https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. إذا قمت بتحديد true، فستحتاج إلى إضافة URI إعادة التوجيه لكل نهج تستخدمه. على سبيل المثال: https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp.

بيانات تعريف نقطة نهاية الرمز المميز

بعد أن يكمل المستخدم مصادقته عند نقطة نهاية التخويل لموفر الهوية، يتم إرجاع استجابة تحتوي على التفويض code إلى Microsoft Azure Active Directory B2C. يقوم Microsoft Azure Active Directory B2C باسترداد رمز المصادقة لرمز مميز للوصول عن طريق إرسال طلب POST إلى نقطة نهاية /token لموفر الهوية. يصف هذا القسم بيانات التعريف لنقطة نهاية الرمز المميز، والتي تسمح بتكوين الطلب إلى /token نقطة نهاية موفر الهوية.

يعرض طلب HTTP التالي استدعاء Microsoft Azure Active Directory B2C لنقطة نهاية الرمز المميز لموفر الهوية.

POST https://contoso/oauth2/token 
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=12345&scope=profile offline_access&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq... 

يسرد الجدول التالي بيانات تعريف نقطة نهاية الرمز المميز.

السمة مطلوب الوصف
AccessTokenEndpoint نعم عنوان URL لنقطة نهاية الرمز المميز. على سبيل المثال، ⁧https://www.linkedin.com/oauth/v2/accessToken⁩.
HttpBinding لا ربط HTTP المتوقع بنقطة نهاية الرمز المميز. القيم المحتملة: GET أو POST.
AccessTokenResponseFormat لا تنسيق استدعاء نقطة نهاية الرمز المميز الوصول. على سبيل المثال، يتطلب Facebook الأسلوب HTTP GET، ولكن استجابة رمز الوصول بتنسيق JSON. القيم المحتملة: Default وJson وJsonP.
ExtraParamsInAccessTokenEndpointResponse لا يحتوي على المعلمات الإضافية التي يمكن إعادتها في الاستجابة من AccessTokenEndpoint بواسطة بعض موفري الهوية. على سبيل المثال، تحتوي الاستجابة من AccessTokenEndpoint على معلمة إضافية مثل openid، وهي معلمة إلزامية بجانب access_token في سلسلة استعلام طلب ClaimsEndpoint. يجب تخطي أسماء المعلمات المتعددة وفصلها بمحدد الفاصلة "،".
token_endpoint_auth_method لا يحدد كيفية إرسال Azure AD B2C عنوان المصادقة إلى نقطة نهاية الرمز المميز. القيم المحتملة: client_secret_post (افتراضي)، و، private_key_jwtوclient_secret_basic. لمزيد من المعلومات، راجع OpenID Connect client authentication section.
token_signing_algorithm لا تعين خوارزمية التوقيع لاستخدامها عند تعيين token_endpoint_auth_method إلى private_key_jwt. القيم المحتملة: RS256(افتراضي)، أو RS512.

تكوين طريقة ربط HTTP

بشكل افتراضي، يستخدم الطلب إلى نقطة نهاية الرمز المميز HTTP POST.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">POST</Item>

يوضح استدعاء HTTP التالي استدعاءً لنقطة نهاية الرمز المميز باستخدام طلب HTTP POST:

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

لموفري الهوية الذين يطلبون استخدام أسلوب HTTP GET عند نقطة نهاية /token، قم بتعيين بيانات التعريف HttpBinding على GET. لاحظ أنه في المثال التالي، تم تعيين AccessTokenResponseFormat على json، حيث تقوم نقطة نهاية الرمز المميز بإرجاع الاستجابة بتنسيق JSON.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>
GET /oauth2/token?client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

قم بتكوين تنسيق استجابة الرمز المميز للوصول

بالدورة حياة لموفري الهوية الذين يدعمون طريقة HTTP POST، يتم تعيين AccessTokenResponseFormat افتراضياً على json. إذا كان موفر الهوية يدعم طلب HTTP GET، فيجب عليك تعيين تنسيق استجابة الرمز المميز للوصول إلى json بشكل صريح.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>

يوضح المثال التالي استجابة نقطة نهاية الرمز المميز بتنسيق JSON:

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1637924390,
    "expires_in": 960000,
}

تكوين طريقة المصادقة

تتطلب الطلبات إلى نقطة نهاية الرمز المميز المصادقة دائماً. بشكل افتراضي، يوفر Microsoft Azure Active Directory B2C لموفر الهوية بيانات اعتماد العميل. طريقة المصادقة بشكل افتراضي هي client_secret_post، بما في ذلك بيانات اعتماد العميل (client_id وclient_secret) في نص الطلب.

يحتوي طلب HTTP التالي لنقطة نهاية الرمز المميز على client_id وclient_secret في بيانات POST. بالنسبة إلى طلبات GET client_id وclient_secret يتم تضمينها في معلمات سلسلة الاستعلام.

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

لموفري الهوية الذين يطلبون استخدام مصادقة HTTP الأساسية عند نقطة النهاية /token، قم بتكوين token_endpoint_auth_method بيانات التعريف إلى client_secret_basic. باستخدام هذا النوع من أسلوب المصادقة، يتم تمرير بيانات اعتماد العميل إلى موفر الهوية باستخدام نظام مصادقة HTTP الأساسي.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">client_secret_basic</Item>

يوضح طلب HTTP التالي استدعاءً لنقطة نهاية الرمز المميز بمصادقة HTTP الأساسية. يحتوي رأس التفويض على معرف العميل وبيانات سرية خاصة بالعميل، بالتنسيق client_ID:client_secret، بترميز base64.

POST /oauth2/token

Authorization: Basic YWJjZDoxMjM0

redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

لموفري الهوية الذين يدعمون مصادقة المفتاح الخاص JWT، قم بتكوين token_endpoint_auth_method بيانات التعريف إلى private_key_jwt. باستخدام هذا النوع من أسلوب المصادقة، يتم استخدام الشهادة المقدمة إلى Microsoft Azure Active Directory B2C لإنشاء تأكيد موقع، والذي يتم تمريره إلى موفر الهوية من خلال المعلمة client_assertion. تم تعيين client_assertion_type على urn:ietf:params:oauth:client-assertion-type:jwt-bearer. تحدد بيانات التعريف token_signing_algorithm خوارزمية التوقيع لرمز JWT المميز.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">private_key_jwt</Item>
<Item Key="token_signing_algorithm">RS256</Item>

يوضح طلب HTTP التالي استدعاءً لنقطة نهاية الرمز المميز باستخدام مصادقة المفتاح الخاص JWT.

POST /oauth2/token

client_assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjJFRFg0dWRYeDIxbXNoaXdJVzczMUY3OUZSbFJiUDZXVXJyZmktR1RFeVkifQ.eyJpc3MiOiJhYmNkIiwiZXhwIjoxNjM3OTI5ODY0LCJuYmYiOjE2Mzc5Mjk1NjQsImF1ZCI6Imh0dHBzOi8vNWRlNC0xMDktNjQtMTI0LTUzLm5ncm9rLmlvL2FjY2Vzc190b2tlbiIsImp0aSI6IjVxQWlGV2lEODNDbU1KWWNrejBRdGc9PSIsInN1YiI6ImFiY2QiLCJpYXQiOjE2Mzc5Mjk1NjR9.C4OtRnrLaQatpT5LP45O5Nb418S4v8yZi_C42ld440w&client_id=abcd&client_assertion_type=urn%3aietf%3aparams%3aoauth%3aclient-assertion-type%3ajwt-bearer&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

بيانات تعريف نقطة نهاية معلومات المستخدم

بعد حصول Microsoft Azure Active Directory B2C على الرمز المميز للوصول من موفر هوية OAuth2، يقوم بإجراء مكالمة إلى نقطة نهاية معلومات المستخدم. تم تصميم نقطة نهاية معلومات المستخدم، والمعروفة أيضاً باسم نقطة نهاية المطالبات لاسترداد المطالبات حول المستخدم المصادق عليه. يستخدم Microsoft Azure Active Directory B2C مصادقة رمز الحامل المميز للمصادقة على نقطة نهاية معلومات مستخدم موفري الهوية. رمز الحامل هو الرمز المميز للوصول الذي يحصل عليه Microsoft Azure Active Directory B2C من نقطة نهاية موفري الهوية /token.

طلب نقطة نهاية معلومات المستخدم هو دائماً HTTP GET. يتم إرسال الرمز المميز للوصول في معلمة سلسلة استعلام تسمى access_token. يُظهر طلب HTTP التالي استدعاءً لنقطة نهاية معلومات المستخدم مع الرمز المميز للوصول في معلمة سلسلة الاستعلام.

GET /oauth2/claims?access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5... 

يسرد الجدول التالي بيانات تعريف نقطة نهاية معلومات المستخدم.

السمة مطلوب الوصف
ClaimsEndpoint نعم عنوان URL لنقطة النهاية الخاصة بمعلومات المستخدم. على سبيل المثال، ⁧https://api.linkedin.com/v2/me⁩.
ClaimsEndpointAccessTokenName لا اسم معلمة سلسلة استعلام الرمز المميز للوصول. القيمة الافتراضية: access_token.
ClaimsEndpointFormatName لا اسم معلمة سلسلة استعلام التنسيق. على سبيل المثال، يمكنك تعيين الاسم كـ format في نقطة نهاية مطالبات LinkedIn هذه https://api.linkedin.com/v1/people/~?format=json.
ClaimsEndpointFormat لا قيمة معلمة سلسلة استعلام التنسيق. على سبيل المثال، يمكنك تعيين القيمة كـ json في نقطة نهاية مطالبات LinkedIn هذه https://api.linkedin.com/v1/people/~?format=json.
BearerTokenTransmissionMethod لا يحدد كيفية إرسال الرمز المميز. الأسلوب الافتراضي هو سلسلة استعلام. لإرسال الرمز المميز كعنوان طلب، قم بالتعيين إلى AuthorizationHeader.
ExtraParamsInClaimsEndpointRequest لا يحتوي على المعلمات الإضافية التي يمكن إعادتها في طلب ClaimsEndpoint بواسطة بعض موفري الهوية. يجب تخطي أسماء المعلمات المتعددة وفصلها بمحدد الفاصلة "،".

تكوين معلمة سلسلة الاستعلام الرمز المميز للوصول

قد تتطلب نقطة نهاية معلومات المستخدم إرسال الرمز المميز للوصول في معلمة سلسلة استعلام معينة. لتغيير اسم معلمة سلسلة الاستعلام، التي تحتوي على الرمز المميز للوصول، استخدم بيانات التعريف ClaimsEndpointAccessTokenName. في المثال التالي، تم تعيين معلمة سلسلة استعلام الرمز المميز للوصول على token.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointAccessTokenName">token</Item>

يوضح استدعاء HTTP التالي اتصالاً بنقطة نهاية معلومات المستخدم مع ضبط ClaimsEndpointAccessTokenName على token:

GET /oauth2/claims?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

تكوين صيغة المطالبات

يسمح لك ClaimsEndpointFormatName وClaimsEndpointFormat بإرسال معلمة سلسلة استعلام زوج مفتاح وقيمة إلى نقطة نهاية معلومات المستخدم. يقوم المثال التالي بتكوين معامِل سلسلة طلب البحث المسمى format، بقيمة json.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointFormatName">format</Item>
<Item Key="ClaimsEndpointFormat">json</Item>

يوضح طلب HTTP التالي اتصالاً بنقطة نهاية معلومات المستخدم مع تكوين ClaimsEndpointFormatName وClaimsEndpointFormat.

GET /oauth2/claims?format=json&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

تكوين طريقة إرسال رمز الحامل

بشكل افتراضي، يتم إرسال الرمز المميز للوصول إلى نقطة نهاية معلومات المستخدم لموفري الهوية من خلال معلمة سلسلة الاستعلام. لإرسال الرمز المميز داخل رأس HTTP Authorization، اضبط بيانات التعريف BearerTokenTransmissionMethod على AuthorizationHeader.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>

يوضح طلب HTTP التالي كيفية تمرير الرمز المميز للوصول عند تعيين BearerTokenTransmissionMethod على AuthorizationHeader.

GET /oauth2/claims

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

تمرير المعلمات التي تم إرجاعها بواسطة نقطة نهاية الرمز المميز

يطلب بعض موفري الهوية تمرير معلمات إضافية يتم إرجاعها من نقطة نهاية الرمز المميز إلى نقطة نهاية معلومات المستخدم. على سبيل المثال، تحتوي الاستجابة من نقطة نهاية الرمز المميز على معلمة تسمى resource، وهي معلمة إلزامية لنقطة نهاية معلومات المستخدم (إلى جانب الرمز المميز للوصول). استخدم بيانات التعريف ExtraParamsInClaimsEndpointRequest لتحديد أي معلمات إضافية لتمريرها. يجب تخطي أسماء المعلمات المتعددة وفصلها بمحدد الفاصلة "،".

يوضح JSON التالي حمولة JSON التي تم إرجاعها من خلال نقطة نهاية الرمز المميز بمعامل باسم resource.

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1549647431,
    "expires_in": 960000,
    "resource": "f2a76e08-93f2-4350-833c-965c02483b11"
}

لتمرير المعلمة resource إلى نقطة نهاية معلومات المستخدم، أضف بيانات التعريف التالية:

<Item Key="ExtraParamsInClaimsEndpointRequest">resource</Item>

يوضح طلب HTTP التالي كيفية تمرير المعلمة resource إلى نقطة نهاية معلومات المستخدم.

GET /oauth2/claims?resource=f2a76e08-93f2-4350-833c-965c02483b11&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

نقطة نهاية الجلسة

لتسجيل خروج المستخدم من التطبيق، أعد توجيه المستخدم إلى نقطة نهاية تسجيل الخروج Microsoft Azure Active Directory B2C (لكل من OAuth2 وOpenID Connect) أو أرسل LogoutRequest (لـ SAML). سيقوم Microsoft Azure Active Directory B2C بمسح جلسة المستخدم من المتصفح. بناءً على طلب تسجيل الخروج، يحاول Microsoft Azure Active Directory B2C تسجيل الخروج من أي موفري هوية متحدين ربما يكون المستخدم قد سجل الدخول من خلاله. تتم تكوين عنوان URI لتسجيل الخروج لموفر هوية OAuth2 في بيانات التعريف end_session_endpoint. عندما يقوم المستخدم بتسجيل الخروج من التطبيق الخاص بك عبر Azure AD B2C، سيتم إنشاء إطار iframe مخفي يستدعي end_session_endpoint في صفحة تسجيل الخروج Microsoft Azure Active Directory B2C.

يسرد الجدول التالي بيانات تعريف نقطة نهاية معلومات المستخدم.

السمة مطلوب الوصف
end_session_endpoint نعم عنوان URL لنقطة نهاية جلسة العمل وفقًا لـ RFC 6749.
SingleLogoutEnabled لا يشير إلى ما إذا حاول ملف التعريف التقني تسجيل الخروج من موفري الهوية الموحدين في أثناء تسجيل الدخول. للحصول على مزيدٍ من المعلومات، راجع Microsoft Azure Active Directory B2C session sign-out. القيم الممكنة: true (الافتراضي)، أو false.

بيانات التعريف العامة لـ OAuth2

يسرد الجدول التالي بيانات التعريف العامة لموفر هوية OAuth2. تصف بيانات التعريف كيفية تعامل ملف تعريف OAuth2 الفني مع التحقق من صحة الرمز المميز والحصول على المطالبات والرد على رسائل الخطأ.

السمة مطلوب الوصف
IdTokenAudience لا جمهور id_token. إذا تم تحديد ذلك، تتحقق Azure AD B2C مما إذا كان الرمز المميز موجودًا في مطالبة تمت إعادتها من قبل موفر الهوية ويساوي الرمز المحدد.
ProviderName لا اسم موفر الهوية.
ResponseErrorCodeParamName لا اسم المعلمة التي تحتوي على رسالة الخطأ التي تمت إعادتها عبر HTTP 200 (موافق).
IncludeClaimResolvingInClaimsHandling   لا بالنسبة لمطالبات الإدخال والإخراج، يتم تحديد إذا ما كان حل المطالبات مدرجاً في ملف التعريف الفني أم لا. القيم المحتملة: true، أو false (افتراضي). إذا كنت تريد استخدام محلل مطالبات في ملف التعريف الفني حدد القيمة إلى true.
ResolveJsonPathsInJsonTokens لا يشير إلى ما إذا كان ملف التعريف التقني يحلل مسارات JSON. القيم المحتملة: true، أو false (افتراضي). استخدم بيانات التعريف هذه لقراءة البيانات من عنصر JSON متداخل. في OutputClaim، قم بتعيين PartnerClaimType إلى عنصر المسار JSON الذي تريد إخراجه. على سبيل المثال: firstName.localized أو data[0].to[0].email.

مفاتيح تشفير

يحتوي عنصرCryptographicKeysعلى السمات التالية:

السمة مطلوب الوصف
client_secret نعم سر العميل لتطبيق موفر الهوية. مفتاح التشفير هذا مطلوب فقط إذا تم تعيين بيانات تعريف response_types إلى code. في هذه الحالة، تجري Azure AD B2C استدعاءً آخر لمبادلة رمز التخويل برمز مميز للوصول. إذا تم تعيين بيانات التعريف إلى id_token، يمكنك حذف مفتاح التشفير.
assertion_signing_key لا عندما يتم تعيين بيانات التعريف token_endpoint_auth_method على private_key_jwt، قدم شهادة X509 لاستخدامها في توقيع مفتاح JWT. يجب أن يتم توفير هذا المفتاح لك بواسطة موفر هوية OAuth2.

إعادة توجيه عنوان URL

عند تكوين URI إعادة التوجيه لموفر الهوية الخاص بك، أدخل https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/oauth2/authresp. تأكد من استبدال اسم المستأجر الخاص بك بـ {tenant-name}. يجب أن تكون URI إعادة التوجيه في بأحرف صغيرة.

الخطوات التالية