تعريف ملف تعريف 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 إعادة التوجيه في بأحرف صغيرة.