Biến quy trình OAuth

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Apigee Edge gói gọn các chức năng của OAuth 1.0a và OAuth 2 trong một bộ chính sách. Cuộc sống quản lý chu kỳ mã thông báo và khoá bí mật, bao gồm cả việc tạo, xác thực và lưu trữ, được quản lý của Apigee Edge, thay mặt cho các dịch vụ phụ trợ của bạn.

Tài liệu này chỉ định các biến luồng được xác định theo chính sách OAuth. Các biến có thể là dùng để triển khai hành vi tuỳ chỉnh cho các luồng OAuth. Để biết cách sử dụng OAuth, hãy xem OAuth.

Biến quy trình OAuth 2.0

Các biến luồng được xác định trong bảng này được điền sẵn khi các chính sách OAuth tương ứng được được thực thi nên có sẵn cho các chính sách hoặc ứng dụng khác thực thi trong proxy API luồng.

Chính sách xác minh mã truy cập
  • 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>*

* Biến sản phẩm API

Chính sách mẫu:

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

Chỉ hỗ trợ mã thông báo mang. Không hỗ trợ mã thông báo MAC.

Theo mặc định, mã truy cập phải được chuyển vào yêu cầu HTTP Uỷ quyền .

Ví dụ:

"Authorization: Bearer {PlainText_AccessToken}"

Bất kỳ flow.variable nào cũng có thể được truyền dưới dạng:

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

Nếu các trường không bắt buộc không được chỉ định, thì các giá trị sẽ được trích xuất theo OAuth 2.0 đặc điểm kỹ thuật.

Tạo chính sách mã uỷ quyền
Tập hợp các biến khi thành công:
  • oauthv2authcode.{policy_name}.code
  • oauthv2authcode.{policy_name}.redirect_uri
  • oauthv2authcode.{policy_name}.scope
  • oauthv2authcode.{policy_name}.client_id

Chính sách mẫu:

<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>

* Không bắt buộc

Bất kỳ flow.variable nào cũng có thể được truyền dưới dạng:

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

Nếu các trường không bắt buộc không được chỉ định, thì các giá trị sẽ được trích xuất theo OAuth 2.0 đặc điểm kỹ thuật.

Các giá trị thuộc tính được lấy động từ biến luồng đã chỉ định, hoặc bằng cách sử dụng giá trị mặc định trong chính sách.

Nếu bạn chỉ định cả hai, biến luồng sẽ được ưu tiên.

Tạo chính sách về mã truy cập cho mã uỷ quyền loại quyền, thông tin đăng nhập của người dùng và thông tin đăng nhập của ứng dụng
Tập hợp các biến khi thành công:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Chính sách mẫu:

<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>

* Không bắt buộc

Bất kỳ flow.variable nào cũng có thể được truyền dưới dạng:

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

Nếu các trường không bắt buộc không được chỉ định, thì các giá trị sẽ được trích xuất theo OAuth 2.0 đặc điểm kỹ thuật.

Các giá trị thuộc tính được lấy động từ biến luồng đã chỉ định, hoặc bằng cách sử dụng giá trị mặc định trong chính sách.

Nếu bạn chỉ định cả hai, biến luồng sẽ được ưu tiên.

Tạo chính sách về mã truy cập cho loại quyền ngầm ẩn
Tập hợp các biến khi thành công:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Chính sách mẫu:

<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>

* Không bắt buộc

Bất kỳ flow.variable nào cũng có thể được truyền dưới dạng:

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

Nếu các trường không bắt buộc không được chỉ định, thì các giá trị sẽ được trích xuất theo OAuth 2.0 đặc điểm kỹ thuật.

Các giá trị thuộc tính được lấy động từ biến luồng đã chỉ định, hoặc bằng cách sử dụng giá trị mặc định trong chính sách.

Nếu bạn chỉ định cả hai, biến luồng sẽ được ưu tiên.

Làm mới chính sách mã truy cập
Tập hợp các biến khi thành công:
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Chính sách mẫu:

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

* Không bắt buộc

Bất kỳ flow.variable nào cũng có thể được truyền dưới dạng:

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

Nếu các trường không bắt buộc không được chỉ định, thì các giá trị sẽ được trích xuất theo OAuth 2.0 đặc điểm kỹ thuật.

Nhận chính sách về thuộc tính khách hàng

Chính sách mẫu:

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

Chính sách mẫu:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
Nhận chính sách về thuộc tính mã truy cập
Tập hợp các biến khi thành công:
  • 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

Chính sách mẫu:

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

Chính sách mẫu:

<GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info>
Nhận chính sách về thuộc tính mã uỷ quyền

Chính sách mẫu:

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

Chính sách mẫu:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
Nhận chính sách về thuộc tính của mã làm mới

Chính sách mẫu:

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

Chính sách mẫu:

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

Biến luồng OAuth 1.0a

Các biến luồng được xác định trong bảng này được điền sẵn khi các chính sách OAuth tương ứng được được thực thi nên có sẵn cho các chính sách hoặc ứng dụng khác thực thi trong proxy API luồng.

Chính sách tạo mã thông báo yêu cầu

Chính sách mẫu:

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

Tập hợp các biến khi thành công:

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

Tạo chính sách về mã truy cập

Chính sách mẫu:

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

Tập hợp các biến khi thành công:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Xác minh mã truy cập chính sách

Chính sách mẫu:

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

Tập hợp các biến khi thành công:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Xác minh chính sách về khoá API

Chính sách mẫu:

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

* Không bắt buộc

Tập hợp các biến khi thành công:

  • oauth_consumer_key
  • oauth_consumer_secret

Xác minh chính sách dành cho người tiêu dùng

Chính sách mẫu:

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

* Không bắt buộc

Tập hợp các biến khi thành công:

  • oauth_consumer_key
  • oauth_consumer_secret

Chính sách xác minh mã thông báo

Chính sách mẫu:

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

* Không bắt buộc

Tập hợp các biến khi thành công:

  • oauth_token
  • oauth_token_secret