Yapmış olduğumuz bir sharepoint form uygulamasında Office365User, Sharepoint gibi bağlantılar kullandık. Ancak son kullanıcıların bu formu açmaya çalıştığında sürekli bir izin pop-up ile karşı karşıya kaldığını fark ettik. Açılan pop-up kullanıcıdan Office365User ve Sharepoint izni istiyor ancak kullanıcı izin verse dahi her sayfa yenilendiğinde kullanıcıdan tekrar tekrar izin isteniyor.

PowerApps Bağlantı İzinleri

Öncelikle problemin kaynağını belirtmek isterim. Uygulama içerisinde kullanılan bağlantılar sonucunda son kullanıcılardan ilgili bağlantıların kullanılacağını dair bir izin alınır. Bu bağlantılara power automate veya powerapps panelinden erişilebilmektedir. Hatta her bir bağlantının nerelerde kullanıldığını da görüntülenebilmektedir. Normal şartlarda kullanıcı bir bağlantıya izin verdiğinde bu bağlantıların kayıt edilmesi ve kullanıcıya tekrar tekrar sorulmaması gerekir. Ancak şimdilik sebebini bilmediğim bir şekilde son kullanıcı izin verdiğinde kayıt yapılmıyor ve bu sebeple tekrar tekrar kullanıcıya izin veriliyor.

1.Çözüm

Uygulamayı az kişi kullanıyor ise tam çözüm olmayan bir çözüm var.

  • Kullanıcı formu özelleştir veya uygulamayı düzenle alanına giriş yapar.
  • Karşısına gelen ekranda da aynı izin onayı ile karşılaşır.
  • Burada verilen izin bağlantılara kalıcı olarak kayıt edilmektedir.
  • Kullanıcı düzenleme ekranından çıkıp uygulamaya veya forma giriş yaptığında sistem tekrar izin sormayacaktır.
  • Ancak bu yöntem kullanıcı sayısı çok ise veya kullanıcıları düzenleme alanına sokmak istemiyorsanız çok mantıklı değildir.

2.Çözüm

Bu çözümü uygulamak için bazı şartlar gerekmektedir.

  • Tenantınızın global admini olmalısınız.
  • Yapmış olduğunuz uygulamanın sahibi olmalısınız.
  • PowerShell sürümünüzün 5 ve üzerinde olmalı.

Öncelikle bilgisayarınızda “Windows PowerShell” uygulamasını yönetici olarak çalıştırın.

$PSVersionTable.PSVersion

kodu ile powershell sürümünü kontrol edelim.

Eğer sürüm 5 ve üzeri ise sırası ile;

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

kodlarını yazın. Bu aşamada kabul etmeniz gereken bazı bildirimler gelebilir. Bu bildirimleri “Y” veya “A” yazıp cevaplayabilirsiniz.

Daha sonrasında aşağıdaki kod ile microsoft hesabımıza giriş yapmamız gerekmekte.

Add-PowerAppsAccount

Girilen hesabın hem global admin hem de uygulamanın sahibi olması gerektiği unutulmamalı.

Son olarak ise bypass komutunu yazıyoruz.

Set-AdminPowerAppApisToBypassConsent -EnvironmentName {1} -AppName {2}
  • {1} yazan alana EnvironmentID yazılmalı. Bu değeri powerapps ayarlar alanından bulabilirsiniz.
  • {2} yazan alana App ID yazılmalı.
Environment ID
App-Id

Bypass kodundan sonra 200 dönüşünü aldı iseniz işlem başarılı bir şekilde tamamlanmıştır.

Artık son kullanıcılar her uygulamayı açtıklarında izin vermek zorunda kalmayacaklar. Burada 200 dönüşü yerine 403 gibi hatalı dönüşler alırsanız giriş yapmış olduğunuz kullanıcının yetki problemi olabilir. Diğer durumda da ilgili {1} ve {2} alanlarını kontrol etmenizi tavsiye ederim.

Not: Bu işlem sonrası uygulamada değişiklikler yapılır ise bu işlemler geçersiz kalabilir. Bu durumda işlemleri tekrardan yapmanız gerekebilmektedir.

Benzer diğer işlemler için; Learn