Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Genel Bakış
Bir geliştirici uygulama kimliği, uygulama son kullanıcı kimliği veya her ikisi ile ilişkilendirilmiş OAuth2 erişim jetonlarını iptal eder.
OAuth 2.0 erişim jetonu oluşturmak için OAuthv2 politikasını kullanın. Apigee tarafından oluşturulan bir jeton biçimi aşağıdaki gibidir:
{ "issued_at" : "1421847736581", "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a", "scope" : "READ", "status" : "approved", "api_product_list" : "[PremiumWeatherAPI]", "expires_in" : "3599", //--in seconds "developer.email" : "tesla@weathersample.com", "organization_id" : "0", "token_type" : "BearerToken", "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP", "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL", "organization_name" : "myorg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
application_name
öğesi, jetonla ilişkilendirilmiş geliştirici uygulaması kimliğini içerir.
Apigee, varsayılan olarak jetona son kullanıcı kimliğini dahil etmez. Apigee'yi şunları içerecek şekilde yapılandırabilirsiniz:
OAuthv2 politikasına <AppEndUser>
öğesini ekleyerek son kullanıcı kimliğini değiştirin:
<OAuthV2 name="GenerateAccessTokenClient"> <Operation>GenerateAccessTokenV/Operation> ... <AppEndUser>request.queryparam.app_enduser</AppEndUser> </OAuthV2>
Bu örnekte, son kullanıcı kimliğini app_enduser
adlı bir sorgu parametresinde OAuthv2 politikasına iletin.
Daha sonra son kullanıcı kimliği, app_enduser
öğesindeki jetona eklenir:
{ "issued_at" : "1421847736581", "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a", "scope" : "READ", "app_enduser" : "6ZG094fgnjNf02EK", "status" : "approved", "api_product_list" : "[PremiumWeatherAPI]", "expires_in" : "3599", //--in seconds "developer.email" : "tesla@weathersample.com", "organization_id" : "0", "token_type" : "BearerToken", "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP", "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL", "organization_name" : "myorg", "refresh_token_expires_in" : "0", //--in seconds "refresh_count" : "0" }
Geliştirici uygulama kimliğiyle iptal et
Geliştirici uygulama kimliğiyle ilişkilendirilmiş OAuth2 erişim jetonlarını iptal edin. Apigee tarafından oluşturulan tüm OAuth2 erişim jetonları, ilişkili geliştirici uygulamasının kimliğini içerir. bunu da belirtelim. Daha sonra jetonları bu uygulama kimliğine göre iptal edebilirsiniz.
Belirli bir geliştiriciye ait uygulama kimliklerinin listesini almak için Developer apps API'yi kullanın.
Developer apps API'yi de kullanabilirsiniz bir uygulamayla ilgili ayrıntıları almak için.
Uygulama son kullanıcı kimliğine göre iptal et
Belirli bir uygulama son kullanıcısının kimliğiyle ilişkili OAuth2 erişim jetonlarını iptal edin. Bu jetondur jetonların verildiği kullanıcının kimliğiyle ilişkilidir.
Varsayılan olarak, OAuth erişim jetonunda son kullanıcı kimliği için bir alan yoktur. İptal etmeyi etkinleştirmek için: Son kullanıcı kimliğine göre OAuth 2.0 erişim jetonları kullanıyorsanız OAuthv2 politikasını kullanıcı kimliğini içerecek şekilde yapılandırmanız gerekir. yukarıda gösterildiği gibi jetona ekleyin.
Bir uygulamanın son kullanıcı kimliğini almak için Developer Apps API.
Örnekler
Aşağıdaki örneklerde, OAuth2 erişim jetonlarını iptal etmek için OAuth V2'yi iptal etme politikası kullanılmaktadır.
Geliştirici uygulama kimliği
Erişim jetonlarını geliştirici uygulama kimliğine göre iptal etmek için şurada <AppId>
öğesini kullanın:
politikanızı ihlal eder.
Aşağıdaki örnekte,
app_id
:
<RevokeOAuthV2 continueOnError="false" enabled="true" name="MyRevokeTokenPolicy"> <DisplayName>Revoke OAuth v2.0-1</DisplayName> <AppId ref="request.queryparam.app_id"></AppId> </RevokeOAuthV2>
Geliştirici uygulamasının kimliğine göre politika, erişim jetonunu iptal eder.
Zaman damgasından önce iptal et
Erişim jetonlarını belirli bir tarih ve saatten önce oluşturulmuş geliştirici uygulama kimliğine göre iptal etmek için:
politikanızda <RevokeBeforeTimestamp>
öğesini kullanın. <RevokeBeforeTimestamp>
.
UTC dönem saatini milisaniye cinsinden belirtir. Bu tarihten önce gönderilen tüm jetonlar iptal edilir.
Aşağıdaki örnek, 1 Temmuz 2019'dan önce oluşturulan bir geliştirici uygulaması için erişim jetonlarını iptal eder:
<RevokeOAuthV2 continueOnError="false" enabled="true" name="MyRevokeTokenPolicy"> <DisplayName>Revoke OAuth v2.0-1</DisplayName> <AppId ref="request.queryparam.app_id"></AppId> <RevokeBeforeTimestamp>1561939200000</RevokeBeforeTimestamp> </RevokeOAuthV2>
<RevokeBeforeTimestamp>
öğesi, değeri temsil eden 64 bitlik (uzun) bir tam sayı
1 Ocak 1970 UTC tarihinde gece yarısından bu yana geçen milisaniye sayısı.
Öğe Referansı
Öğe referansı, CancelOAuthV2 politikasının öğelerini ve özelliklerini açıklar.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RevokeOAuthV2 continueOnError="false" enabled="true" name="GetOAuthV2Info-1"> <DisplayName>Get OAuth v2.0 Info 1</DisplayName> <AppId ref="variable"></AppId> <EndUserId ref="variable"></EndUserId> <RevokeBeforeTimestamp ref="variable"></RevokeBeforeTimestamp> <Cascade>false</Cascade> </RevokeOAuthV2>
<CancelOAuthV2> özellikler
<RevokeOAuthV2 continueOnError="false" enabled="true" name="Revoke-OAuth-v20-1">
Aşağıdaki tabloda tüm politika üst öğelerinde ortak olan özellikler açıklanmaktadır:
Özellik | Açıklama | Varsayılan | Varlık |
---|---|---|---|
name |
Politikanın dahili adı. İsteğe bağlı olarak, politikayı |
Yok | Zorunlu |
continueOnError |
Bir politika başarısız olduğunda hata döndürmesi için Akış yürütmenin bir politikadan sonra bile devam etmesi için |
false | İsteğe bağlı |
enabled |
Politikayı uygulamak için Politikayı devre dışı bırakmak için |
true | İsteğe bağlı |
async |
Bu özelliğin desteği sonlandırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğe
Politikayı name
özelliğine ek olarak
farklı bir doğal dil adına sahip yönetim arayüzü proxy düzenleyicisi.
<DisplayName>Policy Display Name</DisplayName>
Varsayılan |
Yok Bu öğeyi çıkarırsanız politikanın |
---|---|
Varlık | İsteğe bağlı |
Tür | Dize |
<AppId> öğe
İptal edilecek jetonların geliştirici uygulaması kimliğini belirtir. uygulama kimliği veya değişmez uygulama kimliği.
<AppId>appIdString</AppId> or: <AppId ref="request.queryparam.app_id"></AppId>
Varsayılan |
|
---|---|
Varlık |
İsteğe bağlı |
Tür | Dize |
Geçerli değerler |
Uygulama kimliği dizesi içeren bir akış değişkeni veya harflerden oluşan bir dize. |
<Basamaklı> öğe
true
ve geleneksel opak erişim jetonunuz varsa
yenileme jetonu ve erişim jetonu <AppId>
veya
<EndUserId>
eşleşme.
false
ise
yalnızca erişim jetonu iptal edilir ve yenileme jetonunda bir değişiklik olmaz. Aynı davranış geçerlidir
yalnızca opak erişim jetonları içindir.
<Cascade>false<Cascade>
Varsayılan |
false |
---|---|
Varlık |
İsteğe bağlı |
Tür | Boole |
Geçerli değerler | true veya false |
<EndUserId> öğe
İptal edilecek jetonun uygulama son kullanıcı kimliğini belirtir. kullanıcı kimliği veya düz jeton dizesi.
<EndUserId>userIdString</EndUserId> or: <EndUserId ref="request.queryparam.access_token"></EndUserId>
Varsayılan |
|
---|---|
Varlık |
İsteğe bağlı |
Tür | Dize |
Geçerli değerler |
Kullanıcı kimliği dizesi içeren bir akış değişkeni veya sabit değer dizesi. |
<RevokeBeforeTimestamp> öğe
Zaman damgasından önce verilen jetonları iptal edin. Bu öğe, <AppId>
ile çalışır
ve jetonları belirli bir tarihten önce iptal etmenize olanak tanımak için <EndUserId>
.
Varsayılan değer, politikanın yürütüleceği zamandır.
<RevokeBeforeTimestamp>timeStampString</RevokeBeforeTimestamp> or: <RevokeBeforeTimestamp ref="request.queryparam.revoke_since_timestamp"></RevokeBeforeTimestamp>
Varsayılan |
Politikanın yürütüldüğü zaman damgası. |
---|---|
Varlık |
İsteğe bağlı |
Tür | Gece yarısından bu yana geçen milisaniye sayısını temsil eden 64 bit (uzun) tam sayı, 1 Ocak 1970 UTC. |
Geçerli değerler |
Zaman damgası içeren bir akış değişkeni veya değişmez zaman damgası. Zaman damgası, gelecekte ve 1 Ocak 2014'ten önce olamaz. |
Akış değişkenleri
CancelOAuthV2 politikası, akış değişkenlerini ayarlamaz.
Hata referansı
Bu bölümde, bu politika bir hatayı tetiklediğinde döndürülen hata kodları ve hata mesajlarının yanı sıra Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Hata kuralları geliştirirken bu bilgilerin farkında olmanız önemlidir. hoşuma gitmesi için bir fırsattır. Daha fazla bilgi için Bilmeniz gerekenler Politika hataları ve Kullanım sorun.
Çalışma zamanı hataları
Bu hatalar, politika yürütüldüğünde ortaya çıkabilir. Aşağıda gösterilen hata adları dizedir
fault.name
değişkenine atanır. Hatayı Göster
değişkenler bölümüne bakın.
Hata kodu | HTTP durumu | Neden |
---|---|---|
steps.oauth.v2.InvalidFutureTimestamp |
500 | Zaman damgası gelecekte olamaz. |
steps.oauth.v2.InvalidEarlyTimestamp |
500 | Zaman damgası, 1 Ocak 2014'ten önce olamaz. |
steps.oauth.v2.InvalidTimestamp |
500 | Zaman damgası geçersiz. |
steps.oauth.v2.EmptyAppAndEndUserId |
500 | AppdId ve EndUserId boş olamaz. |
Dağıtım hataları
Dağıtım hataları hakkında bilgi için kullanıcı arayüzünde bildirilen mesaja bakın.
Hata değişkenleri
Bu değişkenler, politika çalışma zamanında bir hatayı tetiklediğinde ayarlanır.
Değişkenler | Konum | Örnek |
---|---|---|
fault.name="fault_name" |
fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelendiği gibi hatanın adıdır. Hata adı, hata kodunun son kısmıdır. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Örnek hata yanıtı
{ "fault":{ "faultstring":"Timestamp is in the future.", "detail":{ "errorcode":"steps.oauth.v2.InvalidFutureTimestamp" } } }
Örnek hata kuralı
<FaultRule name="RevokeOAuthV2 Faults"> <Step> <Name>AM-InvalidTimestamp</Name> </Step> <Condition>(fault.name = "InvalidFutureTimestamp")</Condition> </FaultRule>