Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
BERLAKU UNTUK: Semua tingkatAN API Management
get-authorization-context
Gunakan kebijakan untuk mendapatkan konteks otorisasi koneksi tertentu (sebelumnya disebut otorisasi) ke penyedia kredensial yang dikonfigurasi dalam instans API Management.
Kebijakan mengambil dan menyimpan otorisasi dan menyegarkan token dari penyedia kredensial yang dikonfigurasi menggunakan koneksi.
Catatan
Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.
<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" />
Atribut | Deskripsi | Wajib diisi | Default |
---|---|---|---|
provider-id | Pengidentifikasi sumber daya penyedia info masuk. Ekspresi kebijakan diizinkan. | Ya | T/A |
authorization-id | Pengidentifikasi sumber daya koneksi. Ekspresi kebijakan diizinkan. | Ya | T/A |
context-variable-name | Nama variabel konteks untuk menerima objek Authorization . Ekspresi kebijakan diizinkan. |
Ya | T/A |
identity-type | Jenis identitas yang akan diperiksa terhadap kebijakan akses koneksi. - managed : identitas terkelola yang ditetapkan sistem dari instans API Management. - jwt : Token pembawa JWT yang ditentukan dalam atribut identity .Ekspresi kebijakan diizinkan. |
No | managed |
identitas | Token pembawa Microsoft Entra JWT untuk memeriksa izin koneksi. Diabaikan untuk identity-type selain jwt . Klaim yang diharapkan: - audiens: https://azure-api.net/authorization-manager - oid : ID objek izin - tid : ID penyewa izinEkspresi kebijakan diizinkan. |
No | T/A |
ignore-error | Boolean. Jika memperoleh konteks otorisasi menghasilkan kesalahan (misalnya, sumber daya koneksi tidak ditemukan atau dalam status kesalahan): - true : variabel konteks diberi nilai null. - false : kembalikan 500 Jika Anda mengatur nilai ke false , dan konfigurasi kebijakan menyertakan on-error bagian, kesalahan tersedia di context.LastError properti .Ekspresi kebijakan diizinkan. |
No | false |
Variabel konteks otorisasi menerima objek jenis Authorization
.
class Authorization
{
public string AccessToken { get; }
public IReadOnlyDictionary<string, object> Claims { get; }
}
Nama Properti | Deskripsi |
---|---|
AccessToken | Token akses pembawa untuk mengotorisasi permintaan backend. |
Klaim | Klaim yang dikembalikan dari API respons token server otorisasi (lihat RFC6749#section-5.1). |
identity-type=jwt
saat kebijakan akses untuk koneksi ditetapkan ke perwakilan layanan. Hanya /.default
cakupan khusus aplikasi yang didukung untuk JWT.<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>
Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat:
Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarang