Konfiguracja konta AppOnly w SharePoint
Wprowadzenie
Logowanie AppOnly umożliwia obejście problemów z logowaniem do SharePoint przy pomocy loginu i hasła. Jest dostępne w SharePoint Online jak i w SharePoint OnPremise (wersje 2013 i 2016). W artykule opisujemy, jak taką formę logowania skonfigurować.
Konfiguracja konta AppOnly w SharePoint
Otworzyć stronę _layouts/15/appregnew.aspx z witryny SharePoint. Jeżeli używamy kolekcji witryn (podkatalog sites), to otworzyć stronę w tej kolekcji. Przykłady:
https://amodit.sharepoint.com/_layouts/15/appregnew.aspx
https://amodit.sharepoint.com/sites/amodit/_layouts/15/appregnew.aspx
2. Nacisnąć „Generuj” przy polu Identyfikator klienta i Klucz tajny klienta. Zapisać wygenerowane wartości.
3. Wpisać tytuł opisujący aplikację, domenę i adres przekierowania. Domena i adres przekierowania to dowolny adres, np. adres AMODIT lub nawet ten podany w przykładzie. Nie może to być jednak adres SharePoint’a.
4. Nacisnąć „Utwórz”.
Nadanie uprawnień dla konta
1. Otworzyć stronę _layouts/15/appinv.aspx z witryny SharePoint. Tak samo jak wyżej, jeżeli korzystamy z kolekcji witryn, to otworzyć stronę z kolekcji:
https://amodit.sharepoint.com/_layouts/15/appinv.aspx
https://amodit.sharepoint.com/sites/AMODIT/_layouts/15/appinv.aspx
2. W polu „Identyfikator aplikacji” wpisać wygenerowany identyfikator klienta.
3. Nacisnąć przycisk „Odnośnik” – zostaną wypełnione pozostałe pola.
4. W polu „Plik XML” żądania uprawnień aplikacji wpisać:
<AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" /> </AppPermissionRequests>
5. Nacisnąć przycisk „Utwórz” i na kolejnej stronie nacisnąć „Ufaj”.
Lista skonfigurowanych kont AppOnly
Lista skonfigurowanych kont AppOnly jest dostępna pod adresem /_layouts/15/appprincipals.aspx. Tak jak powyżej należy otworzyć tą stronę z odpowiedniej kolekcji witryn (sites):
https://amodit.sharepoint.com/_layouts/15/appprincipals.aspx
https://amodit.sharepoint.com/sites/AMODIT/_layouts/15/appprincipals.aspx
Lista zawiera Identyfikatory aplikacji zapisany razem z tenantid w postaci: id aplikacji@tenant id
Konfiguracja ustawień połączenia z SharePoint w AMODIT
W ustawieniach systemowych w AMODIT jako login wpisać „Identyfikator klienta”, a jako hasło „Klucz tajny” klienta:
Gdy logowanie AppOnly jest zablokowane
W nowych instancjach SharePointa może być domyślnie zablokowane logowanie apponly. Objawia się to tym, że przy przejściu do edycji pliku w SharePoint pojawia się błąd widoczny w logu jako:
Serwer zdalny zwrócił błąd: (401) Bez autoryzacji.
Aby włączyć logowanie apponly, należy wykonać skrypt z poziomu PowerShell:
Install-Module -Name Microsoft.Online.SharePoint.PowerShell $adminUPN="<the full email address of a SharePoint administrator account, example: ******@contosotoycompany.onmicrosoft.com>" $orgName="<name of your Office 365 organization, example: contosotoycompany>" $userCredential = Get-Credential -UserName $adminUPN -Message "Type the password." Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential set-spotenant -DisableCustomAppAuthentication $false
Więcej na stronie: https://learn.microsoft.com/en-us/answers/questions/714147/token-type-is-not-allowed-error-on-sharepoint-rest