Apache Cordova uygulamanıza kimlik doğrulaması ekleme
Özet
Bu öğreticide, desteklenen bir kimlik sağlayıcısı kullanarak Apache Cordova ToDoList hızlı başlangıç projesine kimlik doğrulaması eklersiniz. bu öğretici, ilk olarak doldurmanız gereken Mobile Apps öğreticisiyle Kullanmaya başlayın temel alır.
Uygulamanızı kimlik doğrulaması için kaydedin ve App Service yapılandırın
İlk olarak, uygulamanızı bir kimlik sağlayıcısının sitesinde kaydetmeniz gerekir ve ardından Mobile Apps arka ucunda sağlayıcı tarafından oluşturulan kimlik bilgilerini ayarlarsınız.
Sağlayıcıya özgü talimatları izleyerek tercih ettiğiniz kimlik sağlayıcınızı yapılandırın:
Uygulamanızda desteklemek istediğiniz her sağlayıcı için önceki adımları tekrarlayın.
Benzer adımları gösteren bir video izleyin
Kimliği doğrulanmış kullanıcılar için izinleri kısıtla
Varsayılan olarak, bir Mobile Apps arka uçtaki API 'Ler anonim olarak çağrılabilir. Daha sonra, erişimi yalnızca kimliği doğrulanmış istemcilerle kısıtlamanız gerekir.
Arka ucuNode.js (Azure Portal aracılığıyla) :
Mobile Apps ayarlarınızda, kolay tablolar ' a tıklayın ve tablonuzu seçin. Izinleri Değiştir' e tıklayın, yalnızca tüm Izinler için doğrulanmış erişim ' i seçin ve Kaydet' e tıklayın.
.Net arka ucu (C#):
Sunucu projesinde, denetleyiciler>TodoItemController. cs' ye gidin.
[Authorize]
Özniteliğini aşağıdaki gibi TodoItemController sınıfına ekleyin. Erişimi yalnızca belirli yöntemlerle kısıtlamak için, bu özniteliği sınıfı yerine yalnızca bu yöntemlere de uygulayabilirsiniz. Sunucu projesini yeniden yayımlayın.[Authorize] public class TodoItemController : TableController<TodoItem>
Arka ucaNode.js (Node.js kodu aracılığıyla) :
Tablo erişimi için kimlik doğrulaması gerektirmek için aşağıdaki satırı Node.js sunucusu betiğine ekleyin:
table.access = 'authenticated';
Daha fazla ayrıntı için bkz. nasıl yapılır: tablolara erişim için kimlik doğrulaması gerektirme. Hızlı başlangıç kodu projesini sitenizden nasıl indirileceği hakkında bilgi edinmek için bkz. nasıl yapılır: Node.js arka uç hızlı başlangıç kodu projesini git kullanarak indirme.
Şimdi, arka ucunuza anonim erişimin devre dışı bırakıldığını doğrulayabilirsiniz. Visual Studio:
- Mobile Apps Kullanmaya başlayınöğreticiyi tamamladığınızda oluşturduğunuz projeyi açın.
- Uygulamanızı Google Android Emulatoriçinde çalıştırın.
- Uygulama başladıktan sonra beklenmeyen bir bağlantı hatasının gösterildiğini doğrulayın.
Ardından, mobil uygulama arka ucundan kaynakları isteyerek önce kullanıcıların kimliğini doğrulamak üzere uygulamayı güncelleştirin.
Uygulamaya kimlik doğrulaması ekleme
projenizi Visual Studioaçın, sonra dosyayı düzenlenmek üzere açın
www/index.html
.Content-Security-Policy
Baş bölümünde meta etiketini bulun. OAuth ana bilgisayarını izin verilen kaynaklar listesine ekleyin.Sağlayıcı SDK sağlayıcı adı OAuth ana bilgisayar Azure Active Directory aad https://login.microsoftonline.com Facebook 'a https://www.facebook.com Google Google https://accounts.google.com Microsoft MicrosoftAccount https://login.live.com Twitter Twitter https://api.twitter.com örnek içerik-güvenlik-ilkesi (Azure Active Directory için uygulanır) aşağıdaki gibidir:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://login.microsoftonline.com https://yourapp.azurewebsites.net; style-src 'self'">
Yukarıdaki tablodaki OAuth ana bilgisayarıyla değiştirin
https://login.microsoftonline.com
. Content-Security-Policy meta etiketi hakkında daha fazla bilgi için bkz. Content-Security-Policy belgeleri.Bazı kimlik doğrulama sağlayıcıları, uygun mobil cihazlarda kullanıldığında Içerik Güvenlik Ilkesi değişiklikleri gerektirmez. Örneğin, bir Android cihazında Google kimlik doğrulaması kullanılırken Içerik Güvenlik Ilkesi değişikliği yapmanız gerekir.
www/js/index.js
Dosyayı düzenlenmek üzere açın, yöntemini bulunonDeviceReady()
ve istemci oluşturma kodu altına aşağıdaki kodu ekleyin:// Login to the service client.login('SDK_Provider_Name') .then(function () { // BEGINNING OF ORIGINAL CODE // Create a table reference todoItemTable = client.getTable('todoitem'); // Refresh the todoItems refreshDisplay(); // Wire up the UI Event Handler for the Add Item $('#add-item').submit(addItemHandler); $('#refresh').on('click', refreshDisplay); // END OF ORIGINAL CODE }, handleError);
Bu kod, tablo başvurusunu oluşturan mevcut kodu değiştirir ve Kullanıcı arabirimini yeniler.
Login () yöntemi sağlayıcıyla kimlik doğrulaması başlatır. Login () yöntemi bir JavaScript Promise döndüren zaman uyumsuz bir işlevdir. Başlatmanın geri kalanı Promise yanıtının içine yerleştirilir, böylece Login () yöntemi tamamlanana kadar yürütülecektir.
Yeni eklediğiniz kodda, öğesini oturum açma sağlayıcınızın adıyla değiştirin
SDK_Provider_Name
. örneğin, Azure Active Directory için kullanınclient.login('aad')
.Projenizi çalıştırın. Projenin başlatılması tamamlandığında, uygulamanız seçilen kimlik doğrulama sağlayıcısı için OAuth oturum açma sayfasını gösterir.
Sonraki Adımlar
- Azure App Service ile kimlik doğrulama hakkında daha fazla bilgi edinin.
- Apache Cordova uygulamanıza anında Iletme bildirimleri ekleyerek öğreticiye devam edin.
SDK'ları kullanmayı öğrenin.