Erişim jetonlarını onaylama ve iptal etme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Erişimi iptal etme ve yenileme jetonları

Bazı durumlarda, uygulamaların jetonları açık bir şekilde iptal etmesi veya geçersiz kılması gerekir. Örneğin, Kullanıcı, OAuth özellikli bir uygulamadan çıkış yapar. İptal ettiğiniz jetonlar istediğiniz zaman yeniden onaylanabilir yenilemeniz gerekir.

Jeton iptali prosedürü, OAuth 2.0 Jeton İptali spesifikasyonu tarafından tanımlanır.

Apigee Edge, jeton iptali uç noktası. Bu uç noktanın URI'sını yayınlayarak uygulama geliştiricilerin şunları yapmasını sağlayabilirsiniz: Edge tarafından verilen jetonları geçersiz kılar.

Aşağıda, OAuthV2 politikası ve InValidateToken işlemi için bir örnek yapılandırma verilmiştir. İçinde Bu durumda hem erişim jetonu hem de ilişkili yenileme jetonu iptal edilir. Teknik olarak basamak bayrağı doğru değerine ayarlandığından her ikisi de iptal edilir. Nasıl Cascade flag'inin nasıl çalıştığını görmek için aşağıdaki Jeton öğesinin özellikler bölümüne bakın.

<OAuthV2 name="InvalidateToken">
  <Operation>InvalidateToken</Operation>
  <Tokens>
    <Token type="accesstoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; öğe

İptal edilecek jetonu belirten akış değişkenini tanımlar. Geliştiriciler bir sorgu parametresi kullanarak iptal isteği göndermesi bekleniyor access_token ile adlandırılmıştır. Örneğin, doğru akış değişkeni be: request.queryparam.access_token. Jetonu bir HTTP başlığında zorunlu kılmak için Örneğin, bu değeri request.header.access_token olarak ayarlayın.

Özellikler

  • type (zorunlu, dize): Değişken tarafından tanımlanan jeton türü belirtiliyor. Desteklenen değerler accesstoken ve refreshtoken:
    • Erişim jetonunu iptal etmek için erişim jetonu türünü belirtin.
    • Hem erişim hem de yenileme jetonlarını iptal etmek için generatetoken türünü belirtin. Ne zaman yenileme jetonu türünü seçerseniz Edge, jetonun bir yenileme jetonu olduğunu varsayar. Bu yenileme jetonu bulunursa iptal edilir. Bu yenileme jetonu bulunamazsa Edge şun kontrol eder: olup olmadığını kontrol edin. Erişim jetonu varsa iptal edilir.
      .
      . Not: Halihazırda geçersiz kılınmış bir jetonu InValidateToken'a iletirseniz bu politika, beklediğiniz gibi bir hata döndürmez. Böyle bir işleminin hiçbir etkisi yoktur.
  • cascade (isteğe bağlı, boole, varsayılan: doğru) özelliğinin amacı, yenileme jetonunu, ilişkili erişim jetonunu iptal etmeden iptal etmektir. Dikkatlice şu durumlarda kullanın:
    • Yalnızca yenileme jetonunu iptal edin ve ilişkili erişim jetonunu iptal etmeyin. Bunu yapmak için <Token>'ı ayarlayın refreshtoken olarak yaz ve basamaklayı şuna ayarla: false.
    • Hem erişim jetonunu hem de yenileme jetonunu iptal edin. Bunu yapmak için <Token> accesstoken olarak yazın. Basamak değeri şunlardan biri olabilir: true ( varsayılan) veya false. Bunu true olarak ayarlarsanız hem erişim hem de hem de yenileme jetonu iptal edilir. Bunu false olarak ayarlarsanız erişim jetonu iptal edilmiş ve yenileme jetonu kullanılamayacaktır. Daha fazla bilgi için aşağıdaki Nota bakın açıklama.
    • Erişim jetonunu iptal edin ve ilişkili yenileme jetonunu iptal etmeyin. Değil desteklenir. Daha fazla açıklama için aşağıdaki Not bölümüne bakın.

Not: Güvenlik nedeniyle, erişim jetonu ile ilişkili yenileme jetonu da iptal edilir. Bu nedenle, cascade özelliğini kullanabilirsiniz. Örneğin, <Token> accesstoken olarak yazıp cascade=false değerini ayarlarsanız erişim jetonu iptal edilir (beklendiği gibi); ancak ilişkili yenileme jetonu kullanılamıyor. Yenilemek için kullanılamaz iptal edilmiş erişim jetonundan sorumludur. Basamak özelliğinin birincil kullanım alanı, yalnızca Yenileme jetonunu iptal eder. Bu durumda, <Token> refreshtoken olarak yazın, ve cascade=false değerini ayarlayın. Yenileme jetonu iptal edilecek ancak jetonun ilişkili erişimi jeton geçerli kalır (geçerlilik süresi dolana veya iptal edilene kadar). Daha fazla bilgi için bkz. Topluluk forumu tartışması.

Erişimi ve yenileme jetonlarını onaylama

"Yeniden onaylamak" için ValidateToken işlemini kullanma iptal edilmiş bir jeton. Yani, bu anahtar kelimeyi işlemi için, hedeflenen erişim veya yenileme jetonunun durumu "iptal edildi" olarak değiştirilirse - "onaylandı". Süresi dolmamış olan iptal edilmiş jetonları doğrulayabilirsiniz.

<OAuthV2 name="ValidateToken">
  <Operation>ValidateToken</Operation>
  <Tokens>
    <Token type="refreshtoken" cascade="true">flow.variable</Token>
  </Tokens>
</OAuthV2>

&lt;Tokens&gt;/&lt;Token&gt; öğe

Doğrulanacak jetonu belirten akış değişkenini tanımlar. Geliştiriciler sorgu parametresi kullanarak doğrulama isteği göndermesi beklenir. access_token ile adlandırılmıştır. Örneğin, doğru akış değişkeni be: request.queryparam.access_token. Jetonu bir HTTP başlığında zorunlu kılmak için Örneğin, bu değeri request.header.access_token olarak ayarlayın.

Özellikler

  • type (zorunlu, dize) Değişken tarafından tanımlanan jeton türü belirtiliyor. Desteklenen değerler accesstoken ve refreshtoken.
  • cascade (isteğe bağlı, boole): Bu seçenek varsayılan olarak true sağlar ve doğrulamanın ilişkili jetonlara yayılmasına neden olur. Bu durumda, yenileme jetonuna eklenmesi durumunda, ilişkili erişim jetonu da doğrulanır. Bir erişime uygulandıysa jetonuyla ilişkilendirilmiş yenileme jetonu da doğrulanır. Bunu false olarak ayarlarsanız, yalnızca belirtilen erişim veya yenileme jetonu doğrulanır.