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.
Veri API oluşturucusu'nu yerel olarak kullanarak bir çözüm geliştirirken veya Şirket içinde Veri API oluşturucusu çalıştırırken, belirli bir rol veya taleple bir isteğin benzetimini yaparak yapılandırılmış kimlik doğrulama ve yetkilendirme seçeneklerini test etmeniz gerekir.
Kimlik doğrulama sağlayıcısı yapılandırmadan kimliği doğrulanmış bir isteğin benzetimini yapmak için (örneğin, Microsoft Entra ID gibi), Simulator veya StaticWebApps kimlik doğrulama sağlayıcılarını kullanabilirsiniz:
Simulator sağlayıcısını kullanın
Simulator , Veri API'sinin oluşturucu altyapısına tüm isteklerin kimliği doğrulanmış olarak davranmasını isteyen yapılandırılabilir bir kimlik doğrulama sağlayıcısıdır.
- En azından tüm istekler sistem rolü
Authenticatedbağlamında değerlendirilir. - İstenirse, istek Http üst bilgisinde
X-MS-API-ROLEbelirtilen herhangi bir rol bağlamında değerlendirilir.
Uyarı
İstenen rol yerine getirilirken, sağlayıcıyla Simulator kimliği doğrulanmış kullanıcı için özel talepler ayarlanamadığından veritabanı ilkelerini tanımlayan yetkilendirme izinleri çalışmaz. Veritabanı yetkilendirme ilkelerini test etmek için sağlayıcıyı StaticWebApps kullanma bölümüne geçin.
1. Çalışma zamanı yapılandırma kimlik doğrulama sağlayıcısını güncelleştirme
Yapılandırma dosyasında Simulator kimlik doğrulama sağlayıcısını kullandığınızdan ve development modunun belirtildiğinden emin olun. Şu örnek host yapılandırma bölümüne bakın:
"host": {
"mode": "development",
"authentication": {
"provider": "Simulator"
}
}
2. İsteğin rol bağlamını belirtin
Simulator Veri API'sinin kimlik doğrulama sağlayıcısı olarak rol bağlamını sistem rolüne Authenticatedayarlamak için özel üst bilgi gerekmez:
curl --request GET \
--url http://localhost:5000/api/books \
Rol bağlamını, sistem rolü Anonymous dahil olmak üzere, başka bir role ayarlamak için, X-MS-API-ROLE başlığı istenen rol ile eklenmelidir.
curl --request GET \
--url http://localhost:5000/api/books \
--header 'X-MS-API-ROLE: author' \
Sağlayıcıyı StaticWebApps kullan
Kimlik doğrulama sağlayıcısı, StaticWebApps Veri API'sinin oluşturucusunun yalnızca Statik Web Apps ortamında çalışırken mevcut olan bir HTTP üst bilgileri kümesini aramasını sağlar. İstemci, yerel olarak çalıştırılırken kimliği doğrulanmış bir kullanıcıyı simüle etmek için bu HTTP üst bilgilerini ayarlar. Rol üyeliği veya özel iddialar da buna dahildir.
Uyarı
http üst bilgisinin istemci tarafından sağlanan örnekleri, X-MS-CLIENT-PRINCIPALyalnızca üretim Azure Static Web Apps ortamları bu üst bilginin istemci tarafından sağlanan tüm örneklerini bıraktığından yerel olarak geliştirirken çalışır.
Yapılandırma dosyasında kimlik doğrulama sağlayıcısını kullandığınızdan StaticWebApps emin olun. Şu örnek host yapılandırma bölümüne bakın:
"host": {
"mode": "development",
"authentication": {
"provider": "StaticWebApps"
}
}
1. Oluşturulan X-MS-CLIENT-PRINCIPAL üst bilgi ile istek gönderin.
Veri API oluşturucusu yerel olarak çalıştırıldıktan ve kimlik doğrulama sağlayıcısını kullanacak StaticWebApps şekilde yapılandırıldıktan sonra, aşağıdaki şablonu kullanarak el ile bir istemci asıl nesnesi oluşturabilirsiniz:
{
"identityProvider": "test",
"userId": "12345",
"userDetails": "john@contoso.com",
"userRoles": ["author", "editor"]
}
Statik Web Uygulamasının kimliği doğrulanmış kullanıcı meta verileri aşağıdaki özelliklere sahiptir:
| Mülkiyet | Açıklama |
|---|---|
| kimlik Sağlayıcısı | Herhangi bir dize değeri. |
| userId (kullanıcı kimliği) | Kullanıcı için benzersiz bir tanımlayıcı. |
| kullanıcıDetayları | Kullanıcının kullanıcı adı veya e-posta adresi. |
| kullanıcıRolleri | Kullanıcının atanan rollerinden oluşan bir dizi. |
Uyarı
Static Web Apps belgelerinde belirtildiği gibi, X-MS-CLIENT-PRINCIPAL üst bilgi diziyi claims içermez.
Üst bilgi ile birlikte X-MS-CLIENT-PRINCIPAL geçirilebilmesi için JSON yükünün Base64 kodlanmış olması gerekir. Bunu yapmak için herhangi bir çevrimiçi veya çevrimdışı aracı kullanabilirsiniz. Bu tür araçlardan biri DevToys'tır. Daha önce başvurulan JSON'yi temsil eden base64 kodlu örnek yük:
eyAgCiAgImlkZW50aXR5UHJvdmlkZXIiOiAidGVzdCIsCiAgInVzZXJJZCI6ICIxMjM0NSIsCiAgInVzZXJEZXRhaWxzIjogImpvaG5AY29udG9zby5jb20iLAogICJ1c2VyUm9sZXMiOiBbImF1dGhvciIsICJlZGl0b3IiXQp9
Aşağıdaki cURL isteği, author rolü bağlamında kullanılabilir Book varlık kayıtlarının listesini alan kimliği doğrulanmış bir kullanıcıyı simüle eder.
curl --request GET \
--url http://localhost:5000/api/books \
--header 'X-MS-API-ROLE: author' \
--header 'X-MS-CLIENT-PRINCIPAL: eyAgCiAgImlkZW50aXR5UHJvdmlkZXIiOiAidGVzdCIsCiAgInVzZXJJZCI6ICIxMjM0NSIsCiAgInVzZXJEZXRhaWxzIjogImpvaG5AY29udG9zby5jb20iLAogICJ1c2VyUm9sZXMiOiBbImF1dGhvciIsICJlZGl0b3IiXQp9'