Erişim jetonlarını onaylama ve iptal etme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Erişim ve yenileme jetonlarını iptal etme

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ış yaptığında). Bir jetonu iptal ederseniz jetonu, süresi dolmadan önce istediğiniz zaman yeniden onaylayabilirsiniz.

Jeton iptaline ilişkin prosedür OAuth 2.0 Jeton İptali spesifikasyonu tarafından tanımlanmıştır.

Apigee Edge, özel bir jeton iptal uç noktası yapılandırmanıza olanak tanıyan bir InValidateToken işlemi sağlar. Bu uç noktanın URI'sini yayınlayarak uygulama geliştiricilerinin Edge tarafından yayınlanan jetonları geçersiz kılmasını sağlarsınız.

OAuthV2 politikası ve InValidateToken işlemi için örnek yapılandırma aşağıda verilmiştir. Bu durumda hem erişim jetonu hem de ilişkili yenileme jetonu iptal edilir. Teknik olarak, basamak işareti doğru değerine ayarlandığından her ikisi de iptal edilir. Basamak işaretinin işleyiş şekli hakkında daha fazla bilgi 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>

<Tokens>/<Token> öğesi

İptal edilecek jetonu belirten akış değişkenini tanımlar. Geliştiricilerin, access_token adlı bir sorgu parametresi kullanarak iptal isteği göndermeleri bekleniyorsa doğru akış değişkeni şöyle olur: request.queryparam.access_token. Örneğin, bir HTTP üst bilgisinde jetonu zorunlu kılmak için bu değeri request.header.access_token olarak ayarlayın.

Özellikler

  • type (zorunlu, dize): Belirtilen değişken tarafından tanımlanan jeton türü. accesstoken ve refreshtoken: değerleri desteklenir.
    • Erişim jetonunu iptal etmek için accesstoken türünü belirtin.
    • Hem erişim hem de yenileme jetonlarını iptal etmek içinrefreshtoken türünü belirtin. Yenileme jetonu türünü gördüğünde Edge, jetonun bir yenileme jetonu olduğunu varsayar. Bu yenileme jetonu bulunursa iptal edilir. Bu yenileme jetonu bulunamazsa Edge, bunun bir erişim jetonu olup olmadığını kontrol eder. Erişim jetonu mevcutsa iptal edilir.

      Not: Geçersiz kılınmış bir jetonu bir InValidateToken politikasına geçirirseniz politika, beklediğiniz halde hata döndürmez ancak hata döndürmez. Böyle bir işlemin herhangi bir etkisi yoktur.
  • cascade (isteğe bağlı, boole, varsayılan: true) Bu özelliğin birincil kullanımı, ilişkilendirilmiş erişim jetonunu iptal etmeden yenileme jetonunu iptal etmektir. Aşağıdaki durumları göz önünde bulundurun:
    • Yalnızca yenileme jetonunu iptal edin ve ilişkilendirilmiş erişim jetonunu iptal etmeyin. Bunun için <Token> türünü refreshtoken, basamaklamayı false olarak ayarlayın.
    • Hem erişim jetonunu hem de yenileme jetonunu iptal edin. Bunun için <Token> (Jeton) türünü accesstoken olarak ayarlayın. Basamaklama değeri, true (varsayılan) veya false olabilir. Jetonu true olarak ayarlarsanız hem erişim jetonu hem de yenileme jetonu iptal edilir. Jetonu false olarak ayarlarsanız erişim jetonu iptal edilir ve yenileme jetonu kullanılamaz. Daha fazla açıklama için aşağıdaki Not'a bakın.
    • Bir erişim jetonunu iptal edin ve ilişkili yenileme jetonunu iptal etmeyin. Desteklenmez. Daha fazla açıklama için aşağıdaki Not'a bakın.

Not: Güvenlik nedeniyle, bir erişim jetonunu iptal ederseniz ilişkili yenileme jetonu da iptal edilir. Dolayısıyla, yalnızca bir erişim jetonunu iptal etmek için basamak özelliğini kullanamazsınız. Örneğin, <Token> türünü accesstoken olarak ayarlayıp cascade=false öğesini ayarlarsanız erişim jetonu iptal edilir (beklendiği gibi); ancak ilişkili yenileme jetonu kullanılamaz. İptal edilen erişim jetonunu yenilemek için kullanılamaz. Basamak özelliğinin birincil kullanım alanı, yalnızca yenileme jetonunu iptal etmek istediğiniz durumlardır. Bu durumda, <Token> (Jeton) türünü refreshtoken ve cascade=false olarak ayarlayın. Yenileme jetonu iptal edilir ancak ilişkili erişim jetonu geçerli kalır (süresi dolana veya iptal edilene kadar). Daha fazla bilgi için bu Topluluk forumu tartışmasına göz atın.

Erişim ve yenileme jetonlarını onaylama

İptal edilen bir jetonu "yeniden onaylamak" için ValidateToken işlemini kullanın. Yani bu işlemi uyguladığınızda hedeflenen erişim veya yenileme jetonunun "iptal edildi" olan durumu "onaylandı" olarak değiştirilir. İptal edilmiş ancak süresi henüz dolmamış tüm jetonları doğrulayabilirsiniz.

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

<Tokens>/<Token> öğesi

Doğrulanacak jetonu belirten akış değişkenini tanımlar. Geliştiricilerin, access_token adlı bir sorgu parametresi kullanarak doğrulama isteği göndermeleri bekleniyorsa doğru akış değişkeni şöyle olur: request.queryparam.access_token. Örneğin, bir HTTP üst bilgisinde jetonu zorunlu kılmak için bu değeri request.header.access_token olarak ayarlayın.

Özellikler

  • type (zorunlu, dize) Belirtilen değişken tarafından tanımlanan jeton türü. accesstoken ve refreshtoken değerleri desteklenir.
  • cascade (isteğe bağlı, boole): Varsayılan olarak bu seçenek true değerine ayarlanır ve doğrulamanın ilişkili jetonlara yayılmasına neden olur. Böylece, yenileme jetonuna uygulandığında ilişkili erişim jetonu da doğrulanır. Erişim jetonuna uygulanması halinde bu jetonla ilişkili yenileme jetonu da doğrulanır. Bunu false olarak ayarlarsanız yalnızca belirtilen erişim veya yenileme jetonu doğrulanır.