Microsoft Office Development – Graph API User Token Alma

Microsoft Office Development – Graph API User Token Alma

Merhaba, Office Geliştirme serimize Microsoft Grraph üzerinde kullanıcı token alma işlemleri ile devam edeceğiz.

Kullanıcıların token alma işlemleri için Graph API üzerinde aşağıdaki sırası ile işlemlerin gerçekleştirilmesi gerekmektedir. Daha önceki yazılarımızda bu işlemlerden Uygulama kayıt işlemini tamamladığımızdan bu step’i atlayarak devam ediyoruz.

Token alma stepleri şu şekildedir ;

  • Azure Ad üzerine uygulama kayıt
  • Authorization İsteği
  • Token Kod alma
  • Graph API’yi aldığımız Token ile çağırma,
  • Token yenileme

Azure Ad Üzerinden Ugulama Kayıt

Azure Ad üzerinde uygulama kayıt içeriğimizin detaylarını https://www.cozumpark.com/blogs/yazlim/archive/2017/06/25/office-gelistirme-uygulama-kayit.aspx adresinde anlattığımız makaleden detaylı olarak uygulayabilirsiniz.

Authorization İsteği

Scope olarak adlandırılan izin kapsamlarının izinlerini, Azure AD üzerinden talep etmek için /authorize bitiş noktası ( endpoint) kullanılır. Aşağıdaki ufak örnekte oturum açmış kullanıcının e-posta okuma yetkisine dair istem bulunmaktadır.

https://login.windows.net/{tenant_id}/oauth2/authorize?client_id={application_id}&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2Feravse%2F&response_mode=query&scope=offline_access user.read mail.read&state=12345

Get methodu ile yanlızca browser üzerinden yada Js block edilmeyen bir istemci üzerinden URL yi çağırmanız halinde size aşağıdaki gibi oluşturduğunuz uygulamaya erişim izni vermeniz için bir ekran açılacaktır.

word-image

Yukarıda bahsettiğimiz URL içerisinde bulunan tenant_id Azure Ad üzerinde bulunan Tenant IDdir.

Application_Id ise Uygulama kayıt portalından kayıt ettiğiniz uygulamanın eşsiz kimliğidir.

Uygulamaya yetki verdikten sonra Code değişkenini alarak saklıyoruz.

Tenant ID Nasıl bulunur.

  • Tenant Id yi bulabilmek için Azure Portalı üzerine giriş yapınız. Portal.azure.com
  • Hemen ardından sol menüde bulunan Active Directory sekmesine gidin.
    word-image
  • Arından özellikler sekmesine giderek ID nizi alın
    word-image

Token Kodu Alma

Bir önceki işlemde gerçekleştirmiş olduğunuz izin isteminden dönen kodu alarak aşağıdaki url vasıtası ile post yönetimini kullanarak token işlemini başlatıyoruz.

PostMan programı yardımı ile x-www-form-encoded seçeneğini seçerek aşağıdaki formatta eklememizi yapıyoruz Post olarak https://login.microsoftonline.com/common/oauth2/v2.0/token Azure Ad üzerindeki bitiş noktamıza gönderiyoruz. Sonuç alanında aşağıdaki gibi bir çıktı almanız beklenmektedir. Eğer bir hata alıyorsanız gelen json verisinde hataları denetlemeniz gerekmektedir.

word-image

Aşağıda yukarıda göndermiş olduğumuz parametrelerin kısa açıklamalarını bulabilirsiniz.

Parametre Açıklama
tenant Gerekli Azure üzerindeki Ad Tenant ID niz. Yukarıda bulmak kısmını anlatmıştık.
client_id Gerekli Register Portal üzerinden oluşturduğumuz uygulamanın ID si.
grant_type Gerekli Bu değer authorization_code olmak zorundadır. Sürekli bu değeri gönderiyoruz.
scope Gerekli Boşluklarla ayrılmış bir şekilde gönderebildiğimiz yetki düzeyini belirler örn : user.read email.read gibi
code Gerekli Authorization isteği seçeneği ile aldığımız authorization_code
redirect_uri Gerekli Uygulama Portalında yazıdığımız uygulama adresi
client_secret Sadece Web Uygulamalarında Gerekli Uygulama Secret değeri uygulama kayıt portalından oluşturulur. Native uygulamalarda gereklideğildir. Sadece Web uygulamalarında bu değeri göndermek gereklidir

Temel olarak Graph API üzerinden Token alma ve bu tokenın özellikleri hakkında kısa bilgiler vermeye çalıştım. Bundan sonraki yazılarımızda oluşturmuş olduğumuz uygulamamız için elde ettiğimiz bilgiler ile login ve uygulama üzerinde işlemlere göz atıyor olacağız.

Faydalı olması dileği ile

Leave a Reply