Thiết lập chính sách OAuthV2Info

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Nội dung

Cho phép bạn thêm hoặc cập nhật các thuộc tính tuỳ chỉnh được liên kết với mã truy cập. Thuộc tính tuỳ chỉnh có thể bao gồm những thông tin như tên bộ phận, mã khách hàng hoặc mã nhận dạng phiên. Xem thêm phần Tuỳ chỉnh mã thông báo và mã uỷ quyền.

Bạn chỉ có thể thêm hoặc sửa đổi các thuộc tính tuỳ chỉnh. Bạn không thể sử dụng chính sách này để thay đổi các trường như phạm vi, trạng thái, expires_in, developer_email, client_id, org_name hoặc refresh_count. Nếu một thuộc tính đã tồn tại, chính sách này sẽ cập nhật thuộc tính đó. Nếu không tồn tại, chính sách sẽ thêm thông tin đó. Mã truy cập được tham chiếu phải hợp lệ và ở trạng thái được phê duyệt.

Mẫu

Ví dụ cơ bản

Dưới đây là ví dụ về chính sách dùng để cập nhật mã truy cập OAuth 2.0. Ví dụ bên dưới xác định vị trí mã truy cập trên thông báo yêu cầu bằng cách tìm một tham số truy vấn có tên là access_token. Khi một ứng dụng khách trình bày mã truy cập, chính sách bên dưới sẽ xác định vị trí của mã truy cập trong tham số truy vấn. Sau đó, ứng dụng sẽ cập nhật trang doanh nghiệp của mã thông báo truy cập. Thao tác này sẽ thêm một thuộc tính tuỳ chỉnh có tên là department.id vào hồ sơ.

<SetOAuthV2Info name="SetOAuthV2Info"> 
  <AccessToken ref="request.queryparam.access_token"></AccessToken>
  <Attributes>
    <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute>
  </Attributes>
</SetOAuthV2Info>

Tham chiếu phần tử

Tài liệu tham khảo về phần tử mô tả các phần tử và thuộc tính của chính sách SetOAuthV2.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="SetOAuthV2Info-1">    
    <DisplayName>Set OAuth v2.0 Info 1</DisplayName>
    <AccessToken ref={some-variable}></AccessToken>
    <Attributes/>
</SetOAuthV2Info>
</xml>

Thuộc tính <SetOAuthV2Info>

<SetOAuthV2Info async="false" continueOnError="false" enabled="true" name="Set-OAuth-v20-Info-1">

Bảng sau đây mô tả những thuộc tính chung cho tất cả phần tử mẹ của chính sách:

Thuộc tính Mô tả Mặc định Sự hiện diện
name

Tên nội bộ của chính sách. Giá trị của thuộc tính name có thể chứa chữ cái, số, dấu cách, dấu gạch nối, dấu gạch dưới và dấu chấm. Giá trị này không được vượt quá 255 ký tự.

(Không bắt buộc) Bạn có thể dùng phần tử <DisplayName> để gắn nhãn chính sách trong trình chỉnh sửa proxy giao diện người dùng quản lý bằng tên ngôn ngữ tự nhiên khác.

Không áp dụng Bắt buộc
continueOnError

Đặt thành false để trả về lỗi khi chính sách không thành công. Điều này là dự kiến đối với hầu hết các chính sách.

Đặt thành true để tiếp tục thực thi luồng ngay cả sau khi có chính sách không thành công.

false Không bắt buộc
enabled

Hãy đặt thành true để thực thi chính sách này.

Đặt thành false để tắt chính sách này. Chính sách này sẽ không được thực thi ngay cả khi luồng đó vẫn được liên kết với một luồng.

đúng Không bắt buộc
async

Thuộc tính này không được dùng nữa.

false Không được dùng nữa

&lt;DisplayName&gt; phần tử

Hãy sử dụng cùng với thuộc tính name để gắn nhãn chính sách trong phần trình chỉnh sửa proxy giao diện người dùng quản lý có tên ngôn ngữ tự nhiên khác.

<DisplayName>Policy Display Name</DisplayName>
Mặc định

Không áp dụng

Nếu bạn bỏ qua phần tử này, giá trị của thuộc tính name của chính sách sẽ là đã sử dụng.

Sự hiện diện Không bắt buộc
Loại Chuỗi

Phần tử <AccessToken>

Xác định biến chứa mã truy cập. Ví dụ: nếu mã truy cập được đính kèm vào thông báo yêu cầu dưới dạng tham số truy vấn, hãy chỉ định request.queryparam.access_token. Bạn có thể sử dụng bất kỳ biến hợp lệ nào tham chiếu đến mã thông báo. Hoặc có thể truyền vào chuỗi mã thông báo theo nghĩa đen (trường hợp hiếm gặp).

 <AccessToken ref="request.queryparam.access_token"></AccessToken>
Mặc định: Không áp dụng
Trạng thái hiện diện: Bắt buộc
Loại: Chuỗi

Thuộc tính

Thuộc tính Mô tả Mặc định Tỷ lệ hiển thị
ref

Một biến mã truy cập. Thường được truy xuất từ một biến luồng.

Không áp dụng Không bắt buộc

Phần tử <Attributes>

Một tập hợp các thuộc tính trong hồ sơ mã truy cập sẽ được sửa đổi hoặc tăng cường.

Mặc định: Không áp dụng
Trạng thái hiện diện: Bắt buộc
Loại: Không áp dụng

Phần tử <Attributes>/<Attribute>

Một thuộc tính riêng lẻ cần cập nhật.

Thuộc tính name xác định thuộc tính tuỳ chỉnh của hồ sơ mã truy cập cần được cập nhật. Ví dụ này cho thấy cách sử dụng giá trị biến được tham chiếu và giá trị tĩnh.

  <Attributes>
    <Attribute name="department.id" ref="request.queryparam.department_id"></Attribute>
    <Attribute name="foo">bar</Attribute>
  </Attributes>
Mặc định: Không áp dụng
Trạng thái hiện diện: Không bắt buộc
Loại: Không áp dụng

Thuộc tính

Thuộc tính Mô tả Mặc định Tỷ lệ hiển thị
tên Tên của thuộc tính hồ sơ cần thêm hoặc thay đổi. Không áp dụng
ref

Giá trị cần gán cho thuộc tính hồ sơ.

Không áp dụng Không bắt buộc

Biến dòng

Khi thành công, các biến luồng sau đây sẽ được đặt:

  • oauthv2accesstoken.{policyName}.access_token
  • oauthv2accesstoken.{policyName}.client_id
  • oauthv2accesstoken.{policyName}.refresh_count
  • oauthv2accesstoken.{policyName}.organization_name
  • oauthv2accesstoken.{policyName}.expires_in //--in seconds
  • oauthv2accesstoken.{policyName}.refresh_token_expires_in //--in seconds
  • oauthv2accesstoken.{policyName}.issued_at
  • oauthv2accesstoken.{policyName}.status
  • oauthv2accesstoken.{policyName}.api_product_list
  • oauthv2accesstoken.{policyName}.token_type
  • oauthv2accesstoken.{policyName}.{custom_attribute_name}

Lược đồ

Mỗi loại chính sách được xác định bằng một giản đồ XML (.xsd). Để tham khảo, bạn có thể xem giản đồ chính sách trên GitHub.

Tham chiếu lỗi

Phần này mô tả các mã lỗi và thông báo lỗi được trả về, cũng như các biến lỗi do Edge thiết lập khi chính sách này kích hoạt lỗi. Thông tin này rất quan trọng nếu bạn đang phát triển các quy tắc lỗi để xử lý lỗi. Để tìm hiểu thêm, hãy xem phần Những điều bạn cần biết về lỗi chính sáchXử lý lỗi.

Lỗi thời gian chạy

Những lỗi này có thể xảy ra khi chính sách thực thi.

Mã lỗi Trạng thái HTTP Nguyên nhân
steps.oauth.v2.access_token_expired 500 Mã truy cập được gửi đến chính sách đã hết hạn.
steps.oauth.v2.invalid_access_token 500 Mã truy cập được gửi đến chính sách là không hợp lệ.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Vui lòng xem bài đăng này trên Cộng đồng Apigee để biết thông tin về cách khắc phục lỗi này.

Lỗi triển khai

Hãy tham khảo thông báo được báo cáo trong giao diện người dùng để biết thông tin về lỗi triển khai.

Biến lỗi

Các biến này được đặt khi chính sách này kích hoạt lỗi trong thời gian chạy.

Biến Google AI Ultra for Business Ví dụ:
fault.name="fault_name" fault_name là tên của lỗi, như được liệt kê trong bảng Lỗi thời gian chạy ở trên. Tên lỗi là phần cuối cùng của mã lỗi. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name là tên do người dùng chỉ định của chính sách đã gây ra lỗi. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name là tên do người dùng chỉ định của chính sách đã gây ra lỗi. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name là tên do người dùng chỉ định của chính sách đã gây ra lỗi. oauthV2.SetTokenInfo.cause = Invalid Access Token

Ví dụ về phản hồi lỗi

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Ví dụ về quy tắc lỗi

<FaultRule name=SetOAuthV2Info Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

Chủ đề có liên quan