Windows Azure Mobil Servislerin en güzel özelliklerinden birisi de beraberinde gelen hazır kimlik doğrulama yapısıdır. Şu anda Microsoft, Facebook, Twitter ve Google olmak üzere dört farklı sağlayıcı desteği bulunmakta. Sağlanan altyapı sayesinde uygulamalarınız için sıfırdan bir kimlik doğrulama yapısı oluşturmak yerine kullanıcıların varolan hesaplarıyla giriş yapabilmelerini sağlayabilirsiniz.

Öncelikle yapmanız gereken kimlik doğrulama için kullanmak istediğiniz sağlayıcıya uygulamanızı kaydettirmeniz gerekiyor. Örnek olması açısından demo uygulamamı Microsoft hesabı ile ilişkilendirdim. Bunun için Live Connect sayfasından bir uygulama oluşturdum. Tabiki tüm iş uygulama oluşturmakla bitmiyor. Bunun yanı sıra bir iki ayar daha yapmak gerekiyor. Live Connect’de uygulama oluşturduktan sonra açılan sayfada Redirect Domain (Yeniden Yönlendirme Etki Alanı) kısmına mobil servisimin adresini yazıyorum. Son olarak da geliştireceğim uygulamanın mobil bir uygulama olup olmağını da belirtiyorum.

Live Connect Registration

Kayıt işlemini tamamladıktan sonra kayıt sırasında oluşturulan istemci kimliğini ve parolasını mobil servisimize tanımlamamız gerekiyor. Bunun için Management Portal’dan mobil servisimize girip Identity tabını açıyoruz. Burada bir önceki adımda almış olduğumuz istemci kimlik ve parola bilgilerini ilgili alanlara girip kaydediyoruz.

Pair Authentication Provider and Mobile Service

İlişkilendirme işlemini de tamamladıktan sonra mobil servisimizdeki tüm işlemlerin sadece kimliği doğrulanmış kullanıcılar tarafından gerçekleştirilmesini sağlamak için portalda Data sekmesinden tablomuzu seçiyoruz. Açılan sayfadaki Permission seçeneği altındaki tablo izinlerini Only Authenticated Users olarak değiştirip kaydediyoruz.

Setting Table Permissions

Tüm ayarları tamamladığımıza göre artık uygulamamıza kimlik doğrulama özelliğini ekleyebiliriz.

private MobileServiceUser user;  
var mobileService = new MobileServiceClient("[Mobil Servis Url]","[Application Key]");

private async Task Authenticate()  
{
    try
    {
        user = await mobileService.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount);
    }
    catch (InvalidOperationException)
    {
        throw;
    }
}

Yetkilendirme işlemi için MobileServiceClient nesnemizin LoginAsync metodunu kullanıyoruz. Parametre olarak da kimlik doğrulamasını kullanacağımız sağlayıcıyı veriyoruz. Biz uygulamamızı Microsoft hesabımızla ilişkilendirdiğimiz için MobileServiceAuthenticationProvider olarak MicrosoftAccount seçiyoruz. Hepsi bu kadar :)

Özetle uygulamalarınız için sıfırdan kimlik doğrulama servisi yazmak yerine Windows Azure Mobil Servisler ile beraber gelen altyapıyı kullanarak kimlik doğrulama özelliğini birkaç adımda uygulamalarınıza entegre edebilirsiniz.

About the Author