Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
UYGULANANLAR: Tüm API Management katmanları
API Management örneğinde get-authorization-context yapılandırılmış bir kimlik bilgisi sağlayıcısına belirtilen bağlantının (eski adı yetkilendirme) yetkilendirme bağlamını almak için ilkeyi kullanın.
İlke, bağlantıyı kullanarak yapılandırılan kimlik bilgisi sağlayıcısından yetkilendirme ve yenileme belirteçlerini getirir ve depolar.
Not
İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.
İlke bildirimi
<get-authorization-context
provider-id="credential provider id"
authorization-id="connection id"
context-variable-name="variable name"
identity-type="managed | jwt"
identity="JWT bearer token"
ignore-error="true | false" />
Özellikler
Important
Bir kimlik bilgisi sağlayıcısı veya bağlantısı veya ile provider-idauthorization-idreferans alındığında bağlı erişim kontrol edilmiyor. Politika yazma iznine sahip bir kullanıcı, mevcut herhangi bir kimlik bilgisi sağlayıcısına veya bağlantıya başvurabilir, kullanıcı bu kaynaklara okuma erişimi olmasa bile. Politika tarafından seçilen kimlik bağlantının erişim politikasını karşılarsa, kullanıcı API Yönetimi'nin bağlantının taşıyıcı erişim tokenı ve taleplerini almasını sağlayabilir; politika bunları bir arka uça iletebilir veya yanıtla açıklayabilir. Kaynaklara referans vermek, bağlantının erişim politikasını atlamaz, yapılandırmalarını görüntülemek veya yenileme tokenlarını almak için erişim tanımaz.
Yetkilendirme nesnesi
Yetkilendirme bağlam değişkeni türünde Authorizationbir nesnesi alır.
class Authorization
{
public string AccessToken { get; }
public IReadOnlyDictionary<string, object> Claims { get; }
}
| Özellik Adı | Açıklama |
|---|---|
| AccessToken | Arka uç HTTP isteğini yetkilendirmek için taşıyıcı erişim belirteci. |
| Talepler | Yetkilendirme sunucusunun belirteç yanıt API'sinden döndürülen talepler (bkz . RFC6749#section-5.1). |
Kullanım
- İlke bölümleri: gelen
- İlke kapsamları: genel, ürün, API, işlem
- Ağ geçitleri: klasik, v2, tüketim
Kullanım notları
- Bağlantı için erişim ilkesinin
identity-type=jwtbir hizmet sorumlusuna atandığı zaman yapılandırın. JWT için yalnızca/.defaultuygulama kapsamları desteklenir.
Örnekler
Belirteci geri alma
<!-- Add to inbound policy. -->
<get-authorization-context
provider-id="github-01"
authorization-id="auth-01"
context-variable-name="auth-context"
identity-type="managed"
ignore-error="false" />
<!-- Return the token -->
<return-response>
<set-status code="200" />
<set-body template="none">@(((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</set-body>
</return-response>
Dinamik olarak ayarlanmış özniteliklerle belirteci geri alma
<!-- Add to inbound policy. -->
<get-authorization-context
provider-id="@(context.Request.Url.Query.GetValueOrDefault("authorizationProviderId"))"
authorization-id="@(context.Request.Url.Query.GetValueOrDefault("authorizationId"))" context-variable-name="auth-context"
ignore-error="false"
identity-type="managed" />
<!-- Return the token -->
<return-response>
<set-status code="200" />
<set-body template="none">@(((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</set-body>
</return-response>
Belirteci arka uç çağrısına ekleme
<!-- Add to inbound policy. -->
<get-authorization-context
provider-id="github-01"
authorization-id="auth-01"
context-variable-name="auth-context"
identity-type="managed"
ignore-error="false" />
<!-- Attach the token to the backend call -->
<set-header name="Authorization" exists-action="override">
<value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
</set-header>
Gelen istekten belirteç alma ve belirteç döndürme
<!-- Add to inbound policy. -->
<get-authorization-context
provider-id="github-01"
authorization-id="auth-01"
context-variable-name="auth-context"
identity-type="jwt"
identity="@(context.Request.Headers["Authorization"][0].Replace("Bearer ", ""))"
ignore-error="false" />
<!-- Return the token -->
<return-response>
<set-status code="200" />
<set-body template="none">@(((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</set-body>
</return-response>
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- İlke kod parçacıkları deposu
- Policy örnekleri deposu
- Azure API Management ilke araç seti
- Politikalar oluşturmak, açıklamak ve sorun gidermek için Copilot yardımı alın