متغيّرات مسار OAuth

أنت تعرض مستندات Apigee Edge.
انتقل إلى مستندات Apigee X.
معلومات

يضم Apigee Edge إمكانات OAuth 1.0a وOAuth 2 في مجموعة من السياسات. الحياة إدارة دورة الرموز المميزة والأسرار، بما في ذلك الإنشاء والتحقق من الصحة والتخزين بواسطة Apigee Edge نيابةً عن خدمات الخلفية.

يحدّد هذا المستند متغيّرات التدفق المحدّدة في سياسات OAuth. يمكن أن تكون المتغيرات يُستخدم لتنفيذ سلوك مخصّص لمسارات OAuth. لاستخدام بروتوكول OAuth، يمكنك الاطّلاع على OAuth.

متغيّرات مسار OAuth 2.0

تتم تعبئة متغيّرات التدفق المحدّدة في هذا الجدول عند تطبيق سياسات OAuth ذات الصلة. من تنفيذها، وبالتالي تتوفر للسياسات أو التطبيقات الأخرى التي يتم تنفيذها في الخادم الوكيل لواجهة برمجة التطبيقات التدفق.

تأكيد سياسة رمز الدخول
  • organization_name
  • organization_name
  • developer.id
  • developer.app.name
  • client_id
  • grant_type
  • token_type
  • access_token
  • accesstoken.{custom_attribute}
  • issued_at
  • expires_in
  • status
  • scope
  • apiproduct.name*
  • apiproduct.<custom_attribute_name>*

* متغيّرات المنتجات في واجهة برمجة التطبيقات

نموذج سياسة:

<OAuthV2 name="VerifyAccessToken">
    <Operation>VerifyAccessToken</Operation>
    <Scope>space-separated-scopes</Scope>*
    <AccessToken>flow.variable</AccessToken>*        
    <AccessTokenPrefix>Bearer</AccessTokenPrefix>*
</OAuthV2>

يُسمح فقط بالرموز المميزة للحامل. رموز MAC غير متوافقة.

يجب تمرير رمز الدخول تلقائيًا في طلب HTTP المتعلق بمنح الإذن .

على سبيل المثال:

"Authorization: Bearer {PlainText_AccessToken}"

يمكن تمرير أي flow.variable على النحو التالي:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

إذا لم يتم تحديد الحقول الاختيارية، يتم استخراج القيم باستخدام OAuth 2.0. المواصفات.

إنشاء سياسة رمز التفويض
المتغيرات التي يتم ضبطها عند نجاح:
  • oauthv2authcode.{policy_name}.code
  • oauthv2authcode.{policy_name}.redirect_uri
  • oauthv2authcode.{policy_name}.scope
  • oauthv2authcode.{policy_name}.client_id

نموذج سياسة:

<OAuthV2 name="GetAuthCode">
  <Operation>GenerateAuthorizationCode</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <ResponseType>flow.variable</ResponseType>*
  <ClientId>flow.variable</ClientId>*
  <RedirectUri>flow.variable</RedirectUri>*
  <Scope>flow.variable</Scope>*
  <State>flow.variable</State>*
  <Attributes>*   
    <Attribute name=1 ref=flow.variable”>value1</Attribute>
    <Attribute name=2 ref=flow.variable”>value2</Attribute>
  </Attributes>
</OAuthV2>

* اختيارية

يمكن تمرير أي flow.variable على النحو التالي:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

إذا لم يتم تحديد الحقول الاختيارية، يتم استخراج القيم باستخدام OAuth 2.0. المواصفات.

يتم استنتاج قيم السمات ديناميكيًا من متغير التدفق المحدد أو بشكلٍ ثابت باستخدام قيمة تلقائية في السياسة

إذا تم تحديد كليهما، تكون الأولوية لمتغيّر التدفق.

إنشاء سياسة رمز الدخول لأنواع المنح "رمز التفويض" وبيانات اعتماد المستخدم بيانات اعتماد العميل
المتغيرات التي يتم ضبطها عند نجاح:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

نموذج سياسة:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <SupportedGrantTypes>*
    <GrantType>authorization_code</GrantType>
    <GrantType>password</GrantType>
   <GrantType>client_credentials</GrantType>
  </SupportedGrantTypes>
  <GrantType>flow.variable</GrantType>* 
  <ClientId>flow.variable</ClientId>* 
  <RedirectUri>flow.variable</RedirectUri>* 
  <Scope>flow.variable</Scope>* 
  <AppEndUser>flow.variable</AppEndUser>* 
  <Code>flow.variable</Code>* 
  <UserName>flow.variable</UserName>* 
  <PassWord>flow.variable</PassWord>*
  <Attributes>*
    <Attribute name=1 ref=flow.variable”>value1</Attribute> 
    <Attribute name=2 ref=flow.variable”>value2</Attribute>  
  </Attributes>
</OAuthV2>

* اختيارية

يمكن تمرير أي flow.variable على النحو التالي:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

إذا لم يتم تحديد الحقول الاختيارية، يتم استخراج القيم باستخدام OAuth 2.0. المواصفات.

يتم استنتاج قيم السمات ديناميكيًا من متغير التدفق المحدد أو بشكلٍ ثابت باستخدام قيمة تلقائية في السياسة

إذا تم تحديد كليهما، تكون الأولوية لمتغيّر التدفق.

إنشاء سياسة رمز دخول لنوع إذن الوصول الضمني
المتغيرات التي يتم ضبطها عند نجاح:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

نموذج سياسة:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessTokenImplicitGrant</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <ResponseType>flow.variable></ResponseType>*
  <ClientId>flow.variable></ClientId>*
  <RedirectUri>flow.variable></RedirectUri>*
  <Scope>flow.variable></Scope>*
  <State>flow.variable></State>*
  <AppEndUser>flow.variable</AppEndUser>*                                   
  <Attributes>*
    <Attribute name=1 ref=flow.variable”>value1</Attribute>
    <Attribute name=2 ref=flow.variable”>value2</Attribute>
  </Attributes>
</OAuthV2>

* اختيارية

يمكن تمرير أي flow.variable على النحو التالي:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

إذا لم يتم تحديد الحقول الاختيارية، يتم استخراج القيم باستخدام OAuth 2.0. المواصفات.

يتم استنتاج قيم السمات ديناميكيًا من متغير التدفق المحدد أو بشكلٍ ثابت باستخدام قيمة تلقائية في السياسة

إذا تم تحديد كليهما، تكون الأولوية لمتغيّر التدفق.

إعادة تحميل سياسة رمز الدخول
المتغيرات التي يتم ضبطها عند نجاح:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

نموذج سياسة:

<OAuthV2 name="RefreshAccessToken">
  <Operation>RefreshAccessToken</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <GrantType>flow.variable</GrantType>*
  <RefreshToken>flow.variable</RefreshToken>*
</OAuthV2>

* اختيارية

يمكن تمرير أي flow.variable على النحو التالي:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

إذا لم يتم تحديد الحقول الاختيارية، يتم استخراج القيم باستخدام OAuth 2.0. المواصفات.

الحصول على سياسة سمات العميل

نموذج سياسة:

<GetOAuthV2Info name="GetClientAttributes">
<ClientId ref="{variable_name}"/>
</GetOAuthV2Info>

نموذج سياسة:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
الحصول على سياسة سمات رمز الدخول
المتغيرات التي يتم ضبطها عند نجاح:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.scope
  • oauthv2accesstoken.{policy_name}.refresh_token
  • oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}
  • oauthv2accesstoken.{policy_name}.developer.id
  • oauthv2accesstoken.{policy_name}.developer.app.name
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.status

نموذج سياسة:

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken ref="{variable_name}"/>
</GetOAuthV2Info>

نموذج سياسة:

<GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info>
سياسة سمات رمز التفويض

نموذج سياسة:

<GetOAuthV2Info name="GetAuthCodeAttributes">
 <AuthorizationCode ref="{variable_name}"/>
</GetOAuthV2Info>

نموذج سياسة:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
الحصول على سياسة سمات الرمز المميّز لإعادة التحميل

نموذج سياسة:

<GetOAuthV2Info name="GetTokenAttributes">
  <RefreshToken ref="{variable_name}"/>
</GetOAuthV2Info>

نموذج سياسة:

<GetOAuthV2Info name="GetTokenAttributes">
    <RefreshToken>{refresh_token}</RefreshToken>
</GetOAuthV2Info>

متغيّرات مسار OAuth 1.0a

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

إنشاء سياسة رمز مميّز للطلب

نموذج سياسة:

<OAuthV1 name="GenerateRequestToken">
  <Operation>GenerateRequestToken</Operation>
</OAuthV1>

المتغيرات التي يتم ضبطها عند نجاح:

  • oauth_token
  • oauth_token_secret
  • oauth_callback_confirmed
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

إنشاء سياسة رمز الدخول

نموذج سياسة:

<OAuthV1 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
</OAuthV1>

المتغيرات التي يتم ضبطها عند نجاح:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

إثبات صحة الرمز المميّز للوصول السياسة

نموذج سياسة:

<OAuthV1 name="VerifyAccessToken">
  <Operation>VerifyAccessToken</Operation>
</OAuthV1>

المتغيرات التي يتم ضبطها عند نجاح:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

سياسة مفتاح واجهة برمجة التطبيقات

نموذج سياسة:

<GetOAuthV1Info name="VerifyApiKey">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <APIKey ref="{variable_name}" />
</GetOAuthV1Info>

* اختيارية

المتغيرات التي يتم ضبطها عند نجاح:

  • oauth_consumer_key
  • oauth_consumer_secret

التحقق من سياسة المستهلك

نموذج سياسة:

<GetOAuthV1Info name="VerifyConsumer">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <ConsumerKey ref="{variable_name}" />
</GetOAuthV1Info>

* اختيارية

المتغيرات التي يتم ضبطها عند نجاح:

  • oauth_consumer_key
  • oauth_consumer_secret

التحقّق من سياسة الرمز المميّز

نموذج سياسة:

<GetOAuthV1Info name="VerifyToken">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <RequestToken ref="{variable_name}" />
</GetOAuthV1Info>

* اختيارية

المتغيرات التي يتم ضبطها عند نجاح:

  • oauth_token
  • oauth_token_secret