<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inlogic.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ori</id>
	<title>UmsWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inlogic.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ori"/>
	<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php/Special:Contributions/Ori"/>
	<updated>2026-05-08T13:09:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=MSGraphPermissions&amp;diff=4777</id>
		<title>MSGraphPermissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=MSGraphPermissions&amp;diff=4777"/>
		<updated>2023-10-19T13:57:30Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* Open newest installed Powershell on the server running the program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MS graph permissions are required by these UMS modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;LiveAtEdu&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;OneNote&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;SharePoint&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Office 365 Time blocks&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;MS Teams&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Creating App Registration==&lt;br /&gt;
Go to [http://portal.azure.com Azure Portal] and login with you admin account.&lt;br /&gt;
&lt;br /&gt;
When logged in go to Azure Active Directory:[[File:Graph1.jpg|left|thumb|832x832px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to App registrations&lt;br /&gt;
[[File:Graph2.jpg|none|thumb|831x831px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on New application registration&lt;br /&gt;
[[File:Graph3.jpg|none|thumb|909x909px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Give the new App a name ex. &amp;quot;UMSGraph&amp;quot;, Choose &amp;quot;Web app / API&amp;quot; in Application type, set &amp;quot;Sign-on URL&amp;quot; to &amp;quot;http://localhost&amp;quot;. After setting Application Permission values click &amp;quot;Create&amp;quot;&lt;br /&gt;
[[File:Graph43.jpg|none|thumb|913x913px]]&lt;br /&gt;
&lt;br /&gt;
You will return to previous screen, here click &amp;quot;your new app&amp;quot;&lt;br /&gt;
[[File:Grahp5.jpg|none|thumb|905x905px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Certificates &amp;amp; secrets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;New Client Secret&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Enter a &amp;quot;Description&amp;quot; and set &amp;quot;Expires&amp;quot; to the interval that suits your needs.&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Add&amp;quot;&lt;br /&gt;
[[File:Graph6.jpg|none|thumb|908x908px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy &amp;quot;Value ID&amp;quot;    We will use this later &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!! ATTENTION !!! the key value will never be visible again so ensure to copy it.&#039;&#039;&#039; [[File:Graph7.png|none|thumb|790x790px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy the &amp;quot;VALUE Key into &amp;quot;UMS Configurator&amp;quot; field Client Secret&lt;br /&gt;
&lt;br /&gt;
[[File:Tewxddf.png|frameless|566x566px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy the &amp;quot;Directory Tenant ID &amp;quot; into &amp;quot;UMS Configurator&amp;quot; Field Tenant ID&lt;br /&gt;
&lt;br /&gt;
Copy the &amp;quot;Appplication Client ID &amp;quot; into &amp;quot;UMS Configurator&amp;quot; Field Client ID&lt;br /&gt;
[[File:Id.jpg|none|thumb|1120x1120px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Api permissions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Add a permission&amp;quot;&lt;br /&gt;
[[File:Graph8.png|none|thumb|780x780px]]&lt;br /&gt;
&lt;br /&gt;
==Setup SharePoint, OneNote Class Notebook or Onedrive provisioning==&lt;br /&gt;
&#039;&#039;&#039;You do not need to fill out the settings in UMS (This was done in the above text) when using OneDrive provisioning.&#039;&#039;&#039; Only the &amp;quot;Add SharePoint App permissions&amp;quot; chapter.&lt;br /&gt;
&lt;br /&gt;
In the UMS Configurator go to Modules-&amp;gt;Office 365 and click &amp;quot;SharePoint organization settings&amp;quot;&lt;br /&gt;
[[File:UMSConfiguratorSharepointOrganizationSettings.png|none|thumb|600x600px]]&lt;br /&gt;
Choose your SharePoint organization setting and click &amp;quot;Edit...&amp;quot;&lt;br /&gt;
[[File:UMSConfiguratorSharepointOrganizationSettingsEdit.png|none|thumb|600x600px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;SharePointOrganizationSettings&amp;quot;&amp;gt;Input&amp;lt;/span&amp;gt; your &amp;quot;Tenant Name&amp;quot; ex. &amp;quot;cortenso&#039;&#039;&#039;.onmicrosoft.com&#039;&#039;&#039;&amp;quot;, insert Application ID into &amp;quot;Client ID&amp;quot; field, insert &amp;quot;Client secret&amp;quot; and &amp;quot;Tenant ID&amp;quot; and click &amp;quot;Ok&amp;quot;&lt;br /&gt;
[[File:SharepointOrganization SettingsEdit.jpg|none|thumb|585x585px]]&lt;br /&gt;
&lt;br /&gt;
===Add SharePoint App permissions===&lt;br /&gt;
&lt;br /&gt;
*Go to https://&#039;&#039;&#039;&amp;lt;tenantname&amp;gt;&#039;&#039;&#039;-admin.sharepoint.com/_layouts/15/appinv.aspx&lt;br /&gt;
*Enter app Id (AKA Client Id) and press lookup.&lt;br /&gt;
*Copy paste the below text in Permission Request XML and save&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;AppPermissionRequests AllowAppOnlyPolicy=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;AppPermissionRequest Scope=&amp;quot;http://sharepoint/content/tenant&amp;quot; Right=&amp;quot;FullControl&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;AppPermissionRequest Scope=&amp;quot;http://sharepoint/social/tenant&amp;quot; Right=&amp;quot;FullControl&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/AppPermissionRequests&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SharePoint Organization Settings App permission.jpg|none|thumb|389x389px|Enter anything you like into Title]]&lt;br /&gt;
&lt;br /&gt;
====Open newest installed Powershell on the server running the program====&lt;br /&gt;
&#039;&#039;&#039;Must use Powershell 5&#039;&#039;&#039;&lt;br /&gt;
 #Enable TLS 1.2 for Powershell commands&lt;br /&gt;
 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12  &lt;br /&gt;
 &lt;br /&gt;
 $NugetPackageProvider = Get-PackageProvider -ListAvailable -Name NuGet -ErrorAction SilentlyContinue&lt;br /&gt;
 if (!$NugetPackageProvider) {Install-PackageProvider -Name NuGet -Scope AllUsers -Force}&lt;br /&gt;
 &lt;br /&gt;
 Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force&lt;br /&gt;
 Import-Module Microsoft.Online.SharePoint.PowerShell&lt;br /&gt;
 Connect-SPOService -Url https://&#039;&#039;&#039;&amp;lt;tenantname&amp;gt;&#039;&#039;&#039;-admin.sharepoint.com&lt;br /&gt;
 Set-SPOTenant -DisableCustomAppAuthentication $false&lt;br /&gt;
&lt;br /&gt;
===Remove SharePoint App permissions===&lt;br /&gt;
If you want to remove existing app permission use this link. Maybe you are not using the module anymore.&lt;br /&gt;
 https://&#039;&#039;&#039;&amp;lt;tenantname&amp;gt;&#039;&#039;&#039;-admin.sharepoint.com/_layouts/15/TA_AllAppPrincipals.aspx&lt;br /&gt;
&lt;br /&gt;
==Permissions overview==&lt;br /&gt;
&lt;br /&gt;
===Microsoft Graph===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+Default permissions&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|User.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Setting attributes on the user in Office 365&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Group.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Setting group attributes on Office 365 groups&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|GroupMember.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Manage GroupMembers in Office 365&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Directory.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Setting attributes on the user in Azure Active Directory&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|MailboxSettings.ReadWrite&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to set mailbox settings in Office 365.&lt;br /&gt;
Used to get/create categories&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
Skemabrikker.exe&lt;br /&gt;
|-&lt;br /&gt;
|Calendars.ReadWrite&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to allow UMS to sync calendar events to Office 365&lt;br /&gt;
|Skemabrikker.exe&lt;br /&gt;
|-&lt;br /&gt;
|Files.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to provision OneDrive for users&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Teams sync permissions===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|EduRoster.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Allows the UMS to handle users on roster&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Member.Read.Hidden&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Allows the UMS to handle users on roster&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|TeamMember.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to add or remove users from Team&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|TeamsTab.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to create tabs in teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|TeamsAppInstallation.ReadForTeam.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to install app in teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Team.Create&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to create Teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Team.ReadBasic.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to read teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Change Password when using Azure AD as login===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Directory.AccessAsUser.All&lt;br /&gt;
|Delegated&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|&lt;br /&gt;
|UMS Web&lt;br /&gt;
|-&lt;br /&gt;
|User.Read&lt;br /&gt;
|Delegated&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|&lt;br /&gt;
|UMS Web&lt;br /&gt;
|}&lt;br /&gt;
See also [[Password Change Azure AD]]&lt;br /&gt;
&lt;br /&gt;
===Password Sync===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Roles and Administrators&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Reset password for Users&lt;br /&gt;
|Password_Sync&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===SharePoint===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Sites.FullControl.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Have full control of all site collections&lt;br /&gt;
|Office365_SP_OneNote.exe&lt;br /&gt;
|-&lt;br /&gt;
|User.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Read and write user profiles&lt;br /&gt;
|Office365_SP_OneNote.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===OneNote===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Notes.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|&lt;br /&gt;
|Office365_SP_OneNote.exe&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Password Administrator===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To Add Password administrator roles. Click &#039;&#039;&#039;Roles and administrator&#039;&#039;&#039;&lt;br /&gt;
[[File:Passwordd.png|thumb|1167x1167px|none]]&lt;br /&gt;
&lt;br /&gt;
*Click Add Assignments and Search for App Registrations name and Click Add.&lt;br /&gt;
&lt;br /&gt;
[[File:Password1.png|1167x1167px|thumb|none]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to reset password in Office365 using MS Graph Api. This is because user is global Admin and therefore MS graph can not Reset password&lt;br /&gt;
[[File:Passwordsync.png|none|thumb|1245x1245px]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4766</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4766"/>
		<updated>2023-09-22T11:52:01Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* Cross-origin token redemption is permitted only for the &amp;#039;Single-Page Application&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.[[File:Azure App Registration Authentication.png|thumb|634x634px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎  ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎   &lt;br /&gt;
&lt;br /&gt;
‎   &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4765</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4765"/>
		<updated>2023-09-22T11:51:18Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* FAQ : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.[[File:Azure App Registration Authentication.png|thumb|634x634px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎‎‎ &lt;br /&gt;
&lt;br /&gt;
‎‎   &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4764</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4764"/>
		<updated>2023-09-22T11:50:24Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* FAQ : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
* ‎‎&lt;br /&gt;
&lt;br /&gt;
‎‎   &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4763</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4763"/>
		<updated>2023-09-22T11:49:57Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* FAQ : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
‎‎  &lt;br /&gt;
&lt;br /&gt;
‎‎   &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4762</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4762"/>
		<updated>2023-09-22T11:49:32Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* Cross-origin token redemption is permitted only for the &amp;#039;Single-Page Application&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
‎‎  &lt;br /&gt;
&lt;br /&gt;
‎  &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4761</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4761"/>
		<updated>2023-09-22T11:49:16Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* FAQ : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like https://ums.enterschoolnamehere.dk.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
‎‎  &lt;br /&gt;
&lt;br /&gt;
‎  &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4760</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4760"/>
		<updated>2023-09-22T11:49:00Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* UMS Graph API connection in Office365 Tenant settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like https://ums.enterschoolnamehere.dk.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4759</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4759"/>
		<updated>2023-09-22T11:47:48Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* FAQ : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like https://ums.enterschoolnamehere.dk.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4758</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4758"/>
		<updated>2023-09-22T11:47:34Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* UMS Graph API connection in Office365 Tenant settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like https://ums.enterschoolnamehere.dk.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4757</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4757"/>
		<updated>2023-09-22T11:47:16Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* Cross-origin token redemption is permitted only for the &amp;#039;Single-Page Application&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like https://ums.enterschoolnamehere.dk.[[File:Azure App Registration Authentication.png|thumb|619x619px|left]]&lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4756</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4756"/>
		<updated>2023-09-22T11:39:14Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* How to use Office 365 as login provider instead of Active Directory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
[[File:Azure App Registration Authentication.png|thumb|430x430px]]&lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Azure_App_Registration_Authentication.png&amp;diff=4755</id>
		<title>File:Azure App Registration Authentication.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Azure_App_Registration_Authentication.png&amp;diff=4755"/>
		<updated>2023-09-22T11:38:27Z</updated>

		<summary type="html">&lt;p&gt;Ori: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cross-origin token redemption error&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=UMS_update_guide&amp;diff=4749</id>
		<title>UMS update guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=UMS_update_guide&amp;diff=4749"/>
		<updated>2023-07-11T10:58:06Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* FAQ: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide describes the procedure for updating a running UMS version to the latest version.&lt;br /&gt;
&lt;br /&gt;
In order to complete an update, Administrator access is required to all UMS servers.&lt;br /&gt;
&lt;br /&gt;
A typical UMS installation consists of three servers: UMS Backend server, UMS Frontend server as well as an SQL server.&lt;br /&gt;
&lt;br /&gt;
However, this setup may vary between different installations. It is a good idea to read the instructions and Changelog before the update is launched.&lt;br /&gt;
&lt;br /&gt;
 • Here you will find Change log. http://www.inlogic.dk/support/ums-changelog/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It is important that all Backend servers, as well as Frontend servers, be updated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Update==&lt;br /&gt;
Start downloading the latest versions from [http://www.inlogic.dk/support/download/ inLogic downloads] and extract them.&lt;br /&gt;
[[File:Website123.png|none|thumb|842x842px]]&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;There is a software package for each server and it is only these to be used:&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UMS Backend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*This package contains necessary software for Backend server.&lt;br /&gt;
*In addition, this package also updates the UMS database, if necessary.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UMS Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Package containing software required for Frontend server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UMS Guardian Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Package containing software required for Frontend server.&lt;br /&gt;
&lt;br /&gt;
NOTE: The order should be: Updates all Backend servers first, and then Frontend server. If this order is not followed, the update requires an IISRESET on the frontend server.&lt;br /&gt;
&lt;br /&gt;
Also, be sure to check if UMS backend is installed on the frontend server. If this is the case, UMS must also be updated here.&lt;br /&gt;
&lt;br /&gt;
==Update UMS Backend==&lt;br /&gt;
The process of updating is to remove/uninstall the old version first and then install the new version.&lt;br /&gt;
&lt;br /&gt;
*Open &amp;quot;Control Panel \ Programs \ Programs and Features&amp;quot;. Click uninstall &amp;quot;User Management System&lt;br /&gt;
&lt;br /&gt;
[[File:Contro.jpg|none|thumb|1203x1203px]]&lt;br /&gt;
&lt;br /&gt;
*Locate the downloaded file (setup.zip), unpack it and run setup.exe&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
*Select a destination folder. This folder must be the same as the previous version was.&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui 2.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
*Confirm the installation.&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui 3.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
*Installation is complete.&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui 4.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
Since the UMS Backend software package also updates the UMS database it may sometimes be necessary to run (getStudents or getSkemabrikker) if the table structure is changed.&lt;br /&gt;
&lt;br /&gt;
If the table structure is changed. If necessary, a dialog box will appear indicating that it is necessary to retrieve new data.&lt;br /&gt;
&lt;br /&gt;
GetStudents.exe and GetSkemabrikker.exe are in the UserManagement folder, which was selected as the installation folder. Either run the job from the UserManagement folder or choose to run the scheduled task&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;small&amp;gt;Update UMS Frontend&amp;lt;/small&amp;gt;==&lt;br /&gt;
The process of updating is to remove/uninstall the old version first and then install the new version.&lt;br /&gt;
&lt;br /&gt;
Note that all backend servers should be updated before updating the UMS Frontend server.&lt;br /&gt;
&lt;br /&gt;
*Open &amp;quot;Control Panel \ Programs \ Programs and Features&amp;quot;. Click uninstall &amp;quot;User Academic frontend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Fjern.jpg|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
*Locate the downloaded file (UMSFrontendSetup.zip) unpack it and run setup.exe&lt;br /&gt;
&lt;br /&gt;
[[File:Front 1.png|none|thumb|971x971px]]&lt;br /&gt;
&lt;br /&gt;
*Select the default installation destination. Default destination must be changed if multiple sites are run on the same web server.&lt;br /&gt;
&lt;br /&gt;
[[File:Front 2.png|none|thumb|502x502px]]&lt;br /&gt;
&lt;br /&gt;
*Confirm the installation.&lt;br /&gt;
&lt;br /&gt;
[[File:Front 3.jpg|none|thumb|532x532px]]&lt;br /&gt;
&lt;br /&gt;
*Installation is complete&lt;br /&gt;
&lt;br /&gt;
[[File:Front 4.jpg|none|thumb|532x532px]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;small&amp;gt;Update UMS Guardian&amp;lt;/small&amp;gt;==&lt;br /&gt;
The process of updating is to remove/uninstall the old version first and then install the new version.&lt;br /&gt;
&lt;br /&gt;
*Open &amp;quot;Control Panel \ Programs \ Programs and Features&amp;quot;. Click uninstall &amp;quot;UMS Guardian Websetup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:HgContro.jpg|none|thumb|1210x1210px]]&lt;br /&gt;
&lt;br /&gt;
*Locate the downloaded file (GuardianWebsetup.zip) unpack it and run setup.exe&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian1.png|none|thumb|954x954px]]&lt;br /&gt;
&lt;br /&gt;
*Select the required web site for UMS Guardian to use. (UMS Guardian must be in a separate web site.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian2.png|none|thumb|995x995px]]&lt;br /&gt;
&lt;br /&gt;
*Select the required Application Pool for UMS Guardian. (UMS Guardian must be in a separate  Application Pool.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian3.jpg|none|thumb|513x513px]]&lt;br /&gt;
&lt;br /&gt;
*Confirm the installation and click Next.&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian4.jpg|none|thumb|513x513px]]&lt;br /&gt;
&lt;br /&gt;
*Installation is complete&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian5.jpg|none|thumb|514x514px]]&lt;br /&gt;
&lt;br /&gt;
== FAQ: ==&lt;br /&gt;
&lt;br /&gt;
=== Windows installer preventing you from removing the User Management System program. ===&lt;br /&gt;
This is a known issue there has been with trying to uninstall UMS related to an update. By using the tool described in this link and following the steps provided you can bypass the denial of the removal:&lt;br /&gt;
&lt;br /&gt;
https://support.microsoft.com/en-au/topic/fix-problems-that-block-programs-from-being-installed-or-removed-cca7d1b6-65a9-3d98-426b-e9f927e1eb4d&lt;br /&gt;
&lt;br /&gt;
=== Error installing newer versions of UMS Web. ===&lt;br /&gt;
You will come across an error message when installing newer versions of UMS Web, if you do not have the IIS URL Rewrite module 2.1. You can find the link below for installing the module below:&lt;br /&gt;
&lt;br /&gt;
https://www.iis.net/downloads/microsoft/url-rewrite&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Exchange_Reviewer&amp;diff=4748</id>
		<title>Exchange Reviewer</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Exchange_Reviewer&amp;diff=4748"/>
		<updated>2023-06-30T08:05:43Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With Exchange Reviewer the school can set the users reading permissions for the Outlook calendar quickly and easily. Exchange Reviewer can automatically set the reading permissions for both individual users as well as user groups, so the school does not have to set them manually. By automating the configuration, new employees will for instance not have to ask their colleagues for permission to view their calendars..&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
=== Supported administrative systems ===&lt;br /&gt;
All&lt;br /&gt;
&lt;br /&gt;
=== Module requirements ===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
=== Testing after setup ===&lt;br /&gt;
The group with the correct permission are able to see and edit calendar.&lt;br /&gt;
&lt;br /&gt;
=== What to have ready ===&lt;br /&gt;
Exchange server&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Edit exsisting template:&lt;br /&gt;
[[File:Configurator Edit template.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Goto Exchange and click Manage:&lt;br /&gt;
[[File:Template Exchange.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Add or Edit Exchange setting:&lt;br /&gt;
[[File:Edit Exchange Setting.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
Reviewer (Calendar settings):&lt;br /&gt;
[[File:Exchange Setting.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
·        &#039;&#039;&#039;Reviewer:&#039;&#039;&#039;  AD Group that will have the reviewer rights. ( Browse or write Groupname)&lt;br /&gt;
&lt;br /&gt;
·        &#039;&#039;&#039;Calender right:&#039;&#039;&#039;  Choose what rights reviewer group will have.&lt;br /&gt;
&lt;br /&gt;
== Technical settings ==&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
====== Out of Office: ======&lt;br /&gt;
The &amp;quot;Out of office&amp;quot; setting only activates when users are disabled and will keep saying &amp;quot;out of office&amp;quot; for that specific group member as long as the user is disabled.&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=UMS_update_guide&amp;diff=4741</id>
		<title>UMS update guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=UMS_update_guide&amp;diff=4741"/>
		<updated>2023-06-08T09:36:46Z</updated>

		<summary type="html">&lt;p&gt;Ori: Guide to bypassing removal denied by Microsoft Installer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide describes the procedure for updating a running UMS version to the latest version.&lt;br /&gt;
&lt;br /&gt;
In order to complete an update, Administrator access is required to all UMS servers.&lt;br /&gt;
&lt;br /&gt;
A typical UMS installation consists of three servers: UMS Backend server, UMS Frontend server as well as an SQL server.&lt;br /&gt;
&lt;br /&gt;
However, this setup may vary between different installations. It is a good idea to read the instructions and Changelog before the update is launched.&lt;br /&gt;
&lt;br /&gt;
 • Here you will find Change log. http://www.inlogic.dk/support/ums-changelog/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It is important that all Backend servers, as well as Frontend servers, be updated.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Update==&lt;br /&gt;
Start downloading the latest versions from [http://www.inlogic.dk/support/download/ inLogic downloads] and extract them.&lt;br /&gt;
[[File:Website123.png|none|thumb|842x842px]]&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;big&amp;gt;There is a software package for each server and it is only these to be used:&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UMS Backend&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*This package contains necessary software for Backend server.&lt;br /&gt;
*In addition, this package also updates the UMS database, if necessary.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UMS Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Package containing software required for Frontend server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UMS Guardian Web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Package containing software required for Frontend server.&lt;br /&gt;
&lt;br /&gt;
NOTE: The order should be: Updates all Backend servers first, and then Frontend server. If this order is not followed, the update requires an IISRESET on the frontend server.&lt;br /&gt;
&lt;br /&gt;
Also, be sure to check if UMS backend is installed on the frontend server. If this is the case, UMS must also be updated here.&lt;br /&gt;
&lt;br /&gt;
==Update UMS Backend==&lt;br /&gt;
The process of updating is to remove/uninstall the old version first and then install the new version.&lt;br /&gt;
&lt;br /&gt;
*Open &amp;quot;Control Panel \ Programs \ Programs and Features&amp;quot;. Click uninstall &amp;quot;User Management System&lt;br /&gt;
&lt;br /&gt;
[[File:Contro.jpg|none|thumb|1203x1203px]]&lt;br /&gt;
&lt;br /&gt;
*Locate the downloaded file (setup.zip), unpack it and run setup.exe&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
*Select a destination folder. This folder must be the same as the previous version was.&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui 2.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
*Confirm the installation.&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui 3.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
*Installation is complete.&lt;br /&gt;
&lt;br /&gt;
[[File:UMS backend gui 4.jpg|none|thumb|535x535px]]&lt;br /&gt;
&lt;br /&gt;
Since the UMS Backend software package also updates the UMS database it may sometimes be necessary to run (getStudents or getSkemabrikker) if the table structure is changed.&lt;br /&gt;
&lt;br /&gt;
If the table structure is changed. If necessary, a dialog box will appear indicating that it is necessary to retrieve new data.&lt;br /&gt;
&lt;br /&gt;
GetStudents.exe and GetSkemabrikker.exe are in the UserManagement folder, which was selected as the installation folder. Either run the job from the UserManagement folder or choose to run the scheduled task&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;small&amp;gt;Update UMS Frontend&amp;lt;/small&amp;gt;==&lt;br /&gt;
The process of updating is to remove/uninstall the old version first and then install the new version.&lt;br /&gt;
&lt;br /&gt;
Note that all backend servers should be updated before updating the UMS Frontend server.&lt;br /&gt;
&lt;br /&gt;
*Open &amp;quot;Control Panel \ Programs \ Programs and Features&amp;quot;. Click uninstall &amp;quot;User Academic frontend&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Fjern.jpg|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
*Locate the downloaded file (UMSFrontendSetup.zip) unpack it and run setup.exe&lt;br /&gt;
&lt;br /&gt;
[[File:Front 1.png|none|thumb|971x971px]]&lt;br /&gt;
&lt;br /&gt;
*Select the default installation destination. Default destination must be changed if multiple sites are run on the same web server.&lt;br /&gt;
&lt;br /&gt;
[[File:Front 2.png|none|thumb|502x502px]]&lt;br /&gt;
&lt;br /&gt;
*Confirm the installation.&lt;br /&gt;
&lt;br /&gt;
[[File:Front 3.jpg|none|thumb|532x532px]]&lt;br /&gt;
&lt;br /&gt;
*Installation is complete&lt;br /&gt;
&lt;br /&gt;
[[File:Front 4.jpg|none|thumb|532x532px]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;small&amp;gt;Update UMS Guardian&amp;lt;/small&amp;gt;==&lt;br /&gt;
The process of updating is to remove/uninstall the old version first and then install the new version.&lt;br /&gt;
&lt;br /&gt;
*Open &amp;quot;Control Panel \ Programs \ Programs and Features&amp;quot;. Click uninstall &amp;quot;UMS Guardian Websetup&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:HgContro.jpg|none|thumb|1210x1210px]]&lt;br /&gt;
&lt;br /&gt;
*Locate the downloaded file (GuardianWebsetup.zip) unpack it and run setup.exe&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian1.png|none|thumb|954x954px]]&lt;br /&gt;
&lt;br /&gt;
*Select the required web site for UMS Guardian to use. (UMS Guardian must be in a separate web site.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian2.png|none|thumb|995x995px]]&lt;br /&gt;
&lt;br /&gt;
*Select the required Application Pool for UMS Guardian. (UMS Guardian must be in a separate  Application Pool.)&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian3.jpg|none|thumb|513x513px]]&lt;br /&gt;
&lt;br /&gt;
*Confirm the installation and click Next.&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian4.jpg|none|thumb|513x513px]]&lt;br /&gt;
&lt;br /&gt;
*Installation is complete&lt;br /&gt;
&lt;br /&gt;
[[File:Guardian5.jpg|none|thumb|514x514px]]&lt;br /&gt;
&lt;br /&gt;
== FAQ: ==&lt;br /&gt;
&lt;br /&gt;
=== Windows installer preventing you from removing the User Management System program. ===&lt;br /&gt;
This is a known issue there has been with trying to uninstall UMS related to an update. By using the tool described in this link and following the steps provided you can bypass the denial of the removal:&lt;br /&gt;
&lt;br /&gt;
https://support.microsoft.com/en-au/topic/fix-problems-that-block-programs-from-being-installed-or-removed-cca7d1b6-65a9-3d98-426b-e9f927e1eb4d&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=AdminServers/UDDATA&amp;diff=4728</id>
		<title>AdminServers/UDDATA</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=AdminServers/UDDATA&amp;diff=4728"/>
		<updated>2023-04-19T11:17:10Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* Data mapping */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:AdminServer UDDATA.jpg|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
===Username===&lt;br /&gt;
Username to access webservices.&lt;br /&gt;
&lt;br /&gt;
This information in given by [https://www.ist.com/dk/uddata IST]&lt;br /&gt;
&lt;br /&gt;
===Password===&lt;br /&gt;
Password to access webservices.&lt;br /&gt;
&lt;br /&gt;
This information in given by [https://www.ist.com/dk/uddata IST]&lt;br /&gt;
&lt;br /&gt;
===Institution numbers===&lt;br /&gt;
Enter a list of institution number to extract from.&lt;br /&gt;
&lt;br /&gt;
===[[AdminServers/Export Settings|Export settings]]===&lt;br /&gt;
&lt;br /&gt;
===Data Extraction===&lt;br /&gt;
&lt;br /&gt;
====Set User deactivation in Uddata+====&lt;br /&gt;
If students are suddenly missing in data extraction from Uddata+, check the systemsettings in Uddata+.&lt;br /&gt;
&lt;br /&gt;
Below setting in Uddata prevents user extraction in API 5 days after Activity_Enddate.&lt;br /&gt;
&lt;br /&gt;
[[File:Uddata.png|896x896px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===Data mapping===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Employees&lt;br /&gt;
!Admin system&lt;br /&gt;
!UMS&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
|indi_id&lt;br /&gt;
|UMS_IDFromAdministrativeSystem&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|indi_id&lt;br /&gt;
|IDFromAdministrativeSystem&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fornavn&lt;br /&gt;
|Fornavn&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|EFTERNAVN&lt;br /&gt;
|EFTERNAVN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|initialer&lt;br /&gt;
|StudieNr&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|cpr_nr&lt;br /&gt;
|CPR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|cpr_nr&lt;br /&gt;
|BirthDay&lt;br /&gt;
|First 6 numbers&lt;br /&gt;
|-&lt;br /&gt;
|initialer&lt;br /&gt;
|AlternateAdminSystem_ID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|afdel_id&lt;br /&gt;
|AktivitetsID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|afdeling&lt;br /&gt;
|Aktivitet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.beskrivelse&lt;br /&gt;
|ActivityDisplayName&lt;br /&gt;
|If null then use Departments.afdeling&lt;br /&gt;
|-&lt;br /&gt;
|Departments.beskrivelse&lt;br /&gt;
|ActivityDescription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.kortnavn&lt;br /&gt;
|Kort_Betegnelse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.startDato&lt;br /&gt;
|StartDato&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.slutDato&lt;br /&gt;
|SlutDato&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.startDato&lt;br /&gt;
|Aktiviteter_STARTDATO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.slutDato&lt;br /&gt;
|Aktiviteter_SlutDato&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Employments.gyldig_fra&lt;br /&gt;
|Employment_StartDate&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Employments.gyldig_til&lt;br /&gt;
|Employment_EndDate&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|postnummer&lt;br /&gt;
|Postnummer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|sted&lt;br /&gt;
|City&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gade&lt;br /&gt;
|Adresse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|co&lt;br /&gt;
|COAddress&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.afdel_id&lt;br /&gt;
|DepartmentID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.afdeling&lt;br /&gt;
|DepartmentCode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.afdeling&lt;br /&gt;
|Department&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.beskrivelse&lt;br /&gt;
|DepartmentDescription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.kortnavn&lt;br /&gt;
|DepartmentShortName&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|InstitutionNumber&lt;br /&gt;
|Skolekode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Employments.ansvarsomrade&lt;br /&gt;
|Employee_ResponsibilityArea&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|medarbejdertype&lt;br /&gt;
|Employee_JobEmployment_Description&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.PrimaerAfd&lt;br /&gt;
|PrimaryEmployment&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|unilogin&lt;br /&gt;
|UniLogin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PrimaryPhone (PRIT)&lt;br /&gt;
|PrivateMobilePhone&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MT&lt;br /&gt;
|PrivateMobilePhone&lt;br /&gt;
|Used if primary phone is empty&lt;br /&gt;
|-&lt;br /&gt;
|MT&lt;br /&gt;
|MobilePhone&lt;br /&gt;
|Used if primary phone is empty&lt;br /&gt;
|-&lt;br /&gt;
|AT&lt;br /&gt;
|WorkPhoneNumber&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PT&lt;br /&gt;
|PhoneNumber&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Primary mail (PRIM)&lt;br /&gt;
|PrivateMail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PM&lt;br /&gt;
|PrivateMail&lt;br /&gt;
|Used if primary mail is empty&lt;br /&gt;
|-&lt;br /&gt;
|MA&lt;br /&gt;
|WorkMobilePhone&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AM&lt;br /&gt;
|WorkMail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ø&lt;br /&gt;
|OtherInfo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ø1&lt;br /&gt;
|ExtraField1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ø2&lt;br /&gt;
|ExtraField2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|titel&lt;br /&gt;
|Employee Description&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
Students&lt;br /&gt;
!Admin system&lt;br /&gt;
!UMS&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
|indi_id&lt;br /&gt;
|UMS_IDFromAdministrativeSystem&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|indi_id&lt;br /&gt;
|IDFromAdministrativeSystem&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Fornavn&lt;br /&gt;
|Fornavn&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|EFTERNAVN&lt;br /&gt;
|EFTERNAVN&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|indi_id&lt;br /&gt;
|StudieNr&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|cpr_nr&lt;br /&gt;
|CPR&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|cpr_nr&lt;br /&gt;
|BirthDay&lt;br /&gt;
|First 6 numbers&lt;br /&gt;
|-&lt;br /&gt;
|postnummer&lt;br /&gt;
|Postnummer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|sted&lt;br /&gt;
|City&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|gade&lt;br /&gt;
|Adresse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|co&lt;br /&gt;
|COAddress&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.akti&lt;br /&gt;
|AktivitetsID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.aktivitet&lt;br /&gt;
|Aktivitet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.aktivitet&lt;br /&gt;
|ActivityDisplayName&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.betegnelse&lt;br /&gt;
|ActivityDescription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.kort_betegnelse&lt;br /&gt;
|Kort_Betegnelse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.lms&lt;br /&gt;
|Aktivitet_LMS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ActivityEnrollments.startdato&lt;br /&gt;
|StartDato&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ActivityEnrollments.slutdato&lt;br /&gt;
|SlutDato&lt;br /&gt;
|Use Educations.afgangsdato if it lowest&lt;br /&gt;
&lt;br /&gt;
Use ActivityEnrollments.slutdato if it lowest&lt;br /&gt;
&lt;br /&gt;
Use Activities.slutdato if its lowest&lt;br /&gt;
|-&lt;br /&gt;
|Activities.startdato&lt;br /&gt;
|Aktiviteter_STARTDATO&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.slutdato&lt;br /&gt;
|Aktiviteter_SlutDato&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.ActivityDepartmentName&lt;br /&gt;
|ActivityDepartmentName&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Activities.ActivityDepartmentNameShort&lt;br /&gt;
|ActivityDepartmentNameShort&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|unilogin&lt;br /&gt;
|UniLogin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.coesa&lt;br /&gt;
|COSA_FORMAL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.coesa_betegnelse&lt;br /&gt;
|Education&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.coesa_kort_betegnelse&lt;br /&gt;
|EducationDescriptionShort&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.betegnelse&lt;br /&gt;
|EducationDescription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.uddannelse_id&lt;br /&gt;
|EducationID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.uddannelseversion&lt;br /&gt;
|EducationVersion&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.studiestartDato&lt;br /&gt;
|StudyStart_Education&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educations.afgangsdato&lt;br /&gt;
|StudyEnd_Education&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Stamhold.aktivitet&lt;br /&gt;
|HomeGroupName&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Stamhold.aktivitet&lt;br /&gt;
|Klassebetegnelse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.afdel_id&lt;br /&gt;
|DepartmentID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.afdeling&lt;br /&gt;
|DepartmentCode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.afdeling&lt;br /&gt;
|Department&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.beskrivelse&lt;br /&gt;
|DepartmentDescription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Departments.kortnavn&lt;br /&gt;
|DepartmentShortName&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|InstitutionNumber&lt;br /&gt;
|Skolekode&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SchoolCourse.skoleforloeb&lt;br /&gt;
|SKOLEFORLOB&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SchoolCourse.skoleperiode&lt;br /&gt;
|SKOLEPERIODE&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SchoolCourse.startDato&lt;br /&gt;
|ELEV_I_SKOLEFORLOB_StartDato&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|SchoolCourse.slutdato&lt;br /&gt;
|ELEV_I_SKOLEFORLOB_SlutDato&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PrimaryPhone (PRIT)&lt;br /&gt;
|PrivateMobilePhone&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|MT&lt;br /&gt;
|PrivateMobilePhone&lt;br /&gt;
|Used if primary phone is empty&lt;br /&gt;
|-&lt;br /&gt;
|MT&lt;br /&gt;
|MobilePhone&lt;br /&gt;
|Used if primary phone is empty&lt;br /&gt;
|-&lt;br /&gt;
|PT&lt;br /&gt;
|PhoneNumber&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Primary mail (PRIM)&lt;br /&gt;
|PrivateMail&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|PM&lt;br /&gt;
|PrivateMail&lt;br /&gt;
|Used if primary mail is empty&lt;br /&gt;
|-&lt;br /&gt;
|Ø&lt;br /&gt;
|OtherInfo&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ø1&lt;br /&gt;
|ExtraField1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ø2&lt;br /&gt;
|ExtraField2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|titel&lt;br /&gt;
|Employee_Description&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
===Template criteria mapping===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Employees&lt;br /&gt;
!Admin system&lt;br /&gt;
!UMS&lt;br /&gt;
!Picture from admin system&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
|Institutions kode&lt;br /&gt;
|Institution number&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Afdeling&lt;br /&gt;
|Department&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Ansvarsområde&lt;br /&gt;
|Responsibility area&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|medarbejdertype&lt;br /&gt;
|Job employment description&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Students&lt;br /&gt;
!Admin system&lt;br /&gt;
!UMS&lt;br /&gt;
!Picture from admin system&lt;br /&gt;
!Remarks&lt;br /&gt;
|-&lt;br /&gt;
|Institutions kode&lt;br /&gt;
|Institution number&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Cøsa (Uddannelses kode)&lt;br /&gt;
|Cosa Number&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Afdeling&lt;br /&gt;
|Department&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Stamhold&lt;br /&gt;
|Homegroup&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aktivitets afdeling&lt;br /&gt;
|Activity department&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Aktivitets afdeling kort&lt;br /&gt;
|Activity department short&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Skole forløb&lt;br /&gt;
|Skole forløb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Skole periode&lt;br /&gt;
|Skole periode&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
===Requirements for extracting to UMS===&lt;br /&gt;
&lt;br /&gt;
====Staff====&lt;br /&gt;
Must have a CPR&lt;br /&gt;
&lt;br /&gt;
Employment start date must be entered&lt;br /&gt;
&lt;br /&gt;
Employment end date if entered and lower than today + keep alive then he won&#039;t be extracted&lt;br /&gt;
&lt;br /&gt;
====Student====&lt;br /&gt;
Must have a CPR&lt;br /&gt;
&lt;br /&gt;
Education start date is used if entered otherwise it uses indmeldelsesdato&lt;br /&gt;
&lt;br /&gt;
Educations end date if entered and lower than today + keep alive then he won&#039;t be extracted&lt;br /&gt;
&lt;br /&gt;
===== Activity enrollment enabled =====&lt;br /&gt;
These are added if enabled:&lt;br /&gt;
&lt;br /&gt;
Enrollment start date if entered and lower than today + keep alive then he won&#039;t be extracted&lt;br /&gt;
&lt;br /&gt;
Enrollment end date if entered and lower than today + keep alive then he won&#039;t be extracted. (If Educations end date is lower then this is used)&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=InLogic_SMS_Gateway&amp;diff=4727</id>
		<title>InLogic SMS Gateway</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=InLogic_SMS_Gateway&amp;diff=4727"/>
		<updated>2023-04-19T09:37:59Z</updated>

		<summary type="html">&lt;p&gt;Ori: Added a guide for deleting the SMS queue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important==&lt;br /&gt;
To be able to send SMS, the inLogic SMS Gateway requires GSM modems with USB interface. We recommend &amp;quot;HUAWEI LTE USB Stick Model: E3372&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Hardware Compatibility List===&lt;br /&gt;
[http://consumer.huawei.com/en/mobile-broadband/e3531/specs/ Huawei E3531]&lt;br /&gt;
&lt;br /&gt;
[http://consumer.huawei.com/en/mobile-broadband/e3372/ Huawei E3372] (inLogic&#039;s choice)&lt;br /&gt;
&lt;br /&gt;
[http://consumer.huawei.com/lk/mobile-broadband/dongles/features/e3131-lk.htm Huawei E3131i]&lt;br /&gt;
&lt;br /&gt;
[http://www.tp-link.com/la/products/details/cat-5090_MA260.html TP-Link MA260]&lt;br /&gt;
&lt;br /&gt;
==Network Port Openings==&lt;br /&gt;
&lt;br /&gt;
====TCP port openings from server to gateway. TCP port opening where UMS sms sever service run.====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Port&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|SSH access&lt;br /&gt;
|-&lt;br /&gt;
|443&lt;br /&gt;
|HTTPS access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====TCP port openings from gateway to server.====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Port&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|80&lt;br /&gt;
|HTTP access&lt;br /&gt;
|-&lt;br /&gt;
|443&lt;br /&gt;
|HTTPS access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prepare Modem==&lt;br /&gt;
{|&lt;br /&gt;
![[File:20180516 104258-50%.jpg|none|thumb|800x800px]]&lt;br /&gt;
!Plug-in Modems&lt;br /&gt;
&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|[[File:20180516 104358-50%.jpg|none|thumb|800x800px]]&lt;br /&gt;
|&#039;&#039;&#039;Plug-in Ethernet cable&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plug-in power cable&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==System Login==&lt;br /&gt;
Once the gateway is [[#Prepare Modem|prepared]] and booted, open a browser and go to http://192.168.1.2. Login through the &#039;Login&#039; button in the top right corner. &lt;br /&gt;
[[File:Main Login button.png|none|thumb|1240x1240px]]&lt;br /&gt;
You will now see a login box where you can log in with with USERNAME: admin and PASSWORD: admin.&lt;br /&gt;
[[File:Login.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Main Page==&lt;br /&gt;
After logging in, the system info page appears. This page shows the gateway&#039;s status.[[File:Main.png|none|thumb|1240x1240px]]&lt;br /&gt;
To open the menu, click on this icon:  [[File:Foxbox menu button.png|frameless|23x23px]]&lt;br /&gt;
[[File:Main with menu.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Network Configuration==&lt;br /&gt;
Click on menu tab &#039;Network config&#039;.&lt;br /&gt;
&lt;br /&gt;
Change the IP settings and press &#039;Save Configuration&#039;. When you have saved your settings, [[InLogic SMS Gateway#Reboot|Reboot]] the gateway as instructed below in &#039;Modem Settings&#039;.&lt;br /&gt;
[[File:Network Config.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Modem Settings==&lt;br /&gt;
&lt;br /&gt;
===Hostname and Frontend Settings===&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
Set &#039;Modem Hostname&#039; as FQDN and save your changes. Your modem will now restart.[[File:Modem Settings Hostname.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
====Frontend====&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
If redirect is enable on iis set (HTTPS) &lt;br /&gt;
&lt;br /&gt;
Change &#039;FrontEnd Address&#039; to fit your configuration and save your settings.[[File:Modem Settings Frontend.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Certificate Settings (https)===&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
Click &#039;Choose File&#039; and choose a .pfx certificate from your computer.&lt;br /&gt;
&lt;br /&gt;
Entera a .pfx certificate password in the &#039;Certificate Password&#039; field and click &#039;Save&#039;.&lt;br /&gt;
[[File:Modem Settings Certificate.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===User Settings===&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
The default admin user password is &#039;admin&#039;. To change the default admin user password, write the new password in the &#039;Password&#039; field just below the &#039;Username&#039; field admin.&lt;br /&gt;
&lt;br /&gt;
The default sendsms user password is &#039;sendsms&#039;. To change the default sendsms user password, write the new password in the &#039;Password&#039; field just below the &#039;Username&#039; field sendsms.&lt;br /&gt;
&lt;br /&gt;
Click &#039;Save&#039; to confirm the password change.&lt;br /&gt;
[[File:Modem Settings User.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Control Panel==&lt;br /&gt;
Open the menu and go to &#039;Control Panel&#039;. &lt;br /&gt;
&lt;br /&gt;
Here, you can see staus, as well as turn on and off, the SMS Engine.[[File:Control Panel.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==SMS==&lt;br /&gt;
&lt;br /&gt;
===Inbox===&lt;br /&gt;
To see a log for incoming messages, open the menu and go to &#039;Inbox&#039;. &lt;br /&gt;
[[File:Inbox.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Outbox===&lt;br /&gt;
To see a log for outgoing messages, open the menu and go to &#039;Outbox&#039;. &lt;br /&gt;
[[File:Outbox.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Failed===&lt;br /&gt;
To see a log for failed messages, open the menu and go to &#039;Failed&#039;. &lt;br /&gt;
[[File:Failed.png|none|thumb|1240x1240px]]&lt;br /&gt;
===Write New===&lt;br /&gt;
To write a new SMS, open the menu and go to &#039;Write New&#039;.&lt;br /&gt;
&lt;br /&gt;
Choose the modem you wish to send your message from in the drop down menu &#039;Outgoing channel&#039;. If left blank, the system will choose the first available modem.&lt;br /&gt;
&lt;br /&gt;
Enter the phone number you wish to send your SMS to in the &#039;To&#039; field. Pleas note that international prefix is mandatory.&lt;br /&gt;
&lt;br /&gt;
Write your message in the &#039;Message&#039; field.&lt;br /&gt;
&lt;br /&gt;
When you have finished, click &#039;Send&#039;.[[File:Write New guide.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Time Zone Settings==&lt;br /&gt;
Open the menu and go to &#039;Time Zone Settings&#039;.&lt;br /&gt;
&lt;br /&gt;
The NTP &amp;amp; Time Zone Settings is by default set to enable external NTP. &lt;br /&gt;
&lt;br /&gt;
For internal NTP, uncheck the &#039;Enable External NTP&#039; box and write a list of NTP servers separated by comma, in the &#039;Internal NTP&#039; field.&lt;br /&gt;
&lt;br /&gt;
To change your time zone, choose a time zone from the &#039;Time Zone&#039; drop down menu.&lt;br /&gt;
&lt;br /&gt;
Click &#039;Save&#039; to change your settings.&lt;br /&gt;
[[File:Time Zone Settings.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
Use &#039;in browser&#039; shell to change advanced settings. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u style=&amp;quot;color:red;&amp;quot;&amp;gt;Use with caution!&amp;lt;/u&amp;gt; Please note that if you make any changes without consulting us first, support will be charged accordingly with our hourly rate.&lt;br /&gt;
[[File:Modem Settings Shell.png|none|thumb|1240x1240px]]&lt;br /&gt;
===Root Settings===&lt;br /&gt;
Change of root password require putty.exe. Default root password can be requested from inlogic. &lt;br /&gt;
&lt;br /&gt;
Use Putty.exe to connect to Inlogic Gateway, run command &#039;&#039;(sudo passwd root&#039;&#039;) and follow the instructions on screen.&lt;br /&gt;
[[File:Modem Settings Root.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
Additional information about the product, users, and programs used in the tutorial.&lt;br /&gt;
====Usernames and passwords====&lt;br /&gt;
====SSH Clients====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+A list of SSH Clients&lt;br /&gt;
!Program name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
|PuTTy&lt;br /&gt;
|https://www.putty.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Open source FTP Client====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+A list of FTP clients&lt;br /&gt;
!Program name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
|WinSCP&lt;br /&gt;
|https://winscp.net/eng/index.php&lt;br /&gt;
|-&lt;br /&gt;
|FileZilla&lt;br /&gt;
|https://filezilla-project.org/&lt;br /&gt;
|}&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
===Linux commands===&lt;br /&gt;
&lt;br /&gt;
==== Update ubuntu ====&lt;br /&gt;
 sudo apt-get update -y&lt;br /&gt;
 sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
====Update inLogic files and Database from command line====&lt;br /&gt;
 rm -rf /mnt/Update/update&lt;br /&gt;
 wget --no-check-certificate &amp;lt;nowiki&amp;gt;https://downloads.inlogic.dk/inlogicgatewaymodem/Update.zip&amp;lt;/nowiki&amp;gt; -O /mnt/Update/Update.zip&lt;br /&gt;
 unzip /mnt/Update/Update.zip -d /mnt/Update/update&lt;br /&gt;
 chmod 777 /mnt/Update/update/mnt/flash/root/updateservice/update.sh&lt;br /&gt;
 /mnt/Update/update/mnt/flash/root/updateservice/update.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Commands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Commands shows Status of Apache (systemctl status apache2.service)&lt;br /&gt;
*update system ( apt-get udate  apt-get update)&lt;br /&gt;
&lt;br /&gt;
====Update/Install USB modeswitch====&lt;br /&gt;
 sudo wget &amp;lt;nowiki&amp;gt;https://www.draisberghof.de/usb_modeswitch/usb-modeswitch-2.6.0.tar.bz2&amp;lt;/nowiki&amp;gt; -O /tmp/usb-modeswitch-2.6.0.tar.bz2&lt;br /&gt;
 sudo tar xvf /tmp/usb-modeswitch-2.6.0.tar.bz2 -C /tmp&lt;br /&gt;
 sudo wget &amp;lt;nowiki&amp;gt;https://downloads.inlogic.dk/inlogicgatewaymodem/usb_modeswitch/usb_modeswitch_dispatcher.tcl&amp;lt;/nowiki&amp;gt; -O /tmp/usb-modeswitch-2.6.0/usb_modeswitch_dispatcher.tcl&lt;br /&gt;
 cd /tmp/usb-modeswitch-2.6.0&lt;br /&gt;
 make;make install&lt;br /&gt;
&lt;br /&gt;
====Update ubuntu from 18 to 20====&lt;br /&gt;
Use default answers when running these commands.&lt;br /&gt;
 sudo sed -i &#039;s/bionic/focal/g&#039; /etc/apt/sources.list&lt;br /&gt;
 sudo sed -i &#039;s/bionic/focal/g&#039; /etc/apt/sources.list.d/odroid.list&lt;br /&gt;
 sudo apt-get update -y&lt;br /&gt;
 sudo apt-get upgrade -y&lt;br /&gt;
 sudo apt-get dist-upgrade -y&lt;br /&gt;
&lt;br /&gt;
====How to change IP settings====&lt;br /&gt;
&lt;br /&gt;
*nano /etc/netplan/01-netconf.yaml&lt;br /&gt;
*reboot&lt;br /&gt;
&lt;br /&gt;
====Logs====&lt;br /&gt;
&lt;br /&gt;
=====Log viewers=====&lt;br /&gt;
&lt;br /&gt;
*tail&lt;br /&gt;
*tail -f (this is similar to using cmtrace in windows)&lt;br /&gt;
*nano&lt;br /&gt;
*vim&lt;br /&gt;
&lt;br /&gt;
=====Log files=====&lt;br /&gt;
&lt;br /&gt;
*/var/log/smstools/smsd.log&lt;br /&gt;
*/var/log/syslog&lt;br /&gt;
*/var/log/mysql/error.log&lt;br /&gt;
*/var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
=====See USB devices=====&lt;br /&gt;
&lt;br /&gt;
*lsusb&lt;br /&gt;
&lt;br /&gt;
==Rest API==&lt;br /&gt;
Theres a REST API to use, to send messages from the inLogic SMS Gateway.&lt;br /&gt;
&lt;br /&gt;
===Send SMS===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|URL&lt;br /&gt;
|source/send_sms.php&lt;br /&gt;
|-&lt;br /&gt;
|Method&lt;br /&gt;
|POST&lt;br /&gt;
|-&lt;br /&gt;
|URL Parameters&lt;br /&gt;
|Username&lt;br /&gt;
&lt;br /&gt;
Password&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
Message&lt;br /&gt;
|-&lt;br /&gt;
|Success Response&lt;br /&gt;
|200 - Success&lt;br /&gt;
Returns ID of send SMS&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|401 - Unauthorized&lt;br /&gt;
|-&lt;br /&gt;
|Error Resposne&lt;br /&gt;
|403 - Forbidden&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|500 - Internal server error&lt;br /&gt;
|-&lt;br /&gt;
|Sample Request&lt;br /&gt;
|source/send_sms.php?username=smsuser&amp;amp;pwd=testpassword123&amp;amp;from=ums&amp;amp;to=22446688&amp;amp;message=Dette er en test besked&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 curl -X POST &amp;lt;nowiki&amp;gt;https://modem.ums.dk/source/send_sms.php?username=&amp;lt;/nowiki&amp;gt;&amp;lt;USERNAME&amp;gt;&amp;amp;pwd=&amp;lt;PASSWORD&amp;gt;&amp;amp;from=ums&amp;amp;to=&amp;lt;RECIEPIENT&amp;gt;&amp;amp;message=&amp;lt;MESSAGE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Check SMS Status===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|URL&lt;br /&gt;
|webservice/getstatus.php&lt;br /&gt;
|-&lt;br /&gt;
|Method&lt;br /&gt;
|POST&lt;br /&gt;
|-&lt;br /&gt;
|URL Parameters&lt;br /&gt;
|Username&lt;br /&gt;
&lt;br /&gt;
Password&lt;br /&gt;
&lt;br /&gt;
ID&lt;br /&gt;
|-&lt;br /&gt;
|Success Response&lt;br /&gt;
|200 - Success&lt;br /&gt;
Returns status of send SMS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ScheduledToSend = -1&lt;br /&gt;
&lt;br /&gt;
OK = 0&lt;br /&gt;
&lt;br /&gt;
OK_WithError = 1&lt;br /&gt;
&lt;br /&gt;
InUMSQueue = 2&lt;br /&gt;
&lt;br /&gt;
InModemQueue = 3&lt;br /&gt;
&lt;br /&gt;
Failed = 4&lt;br /&gt;
&lt;br /&gt;
IDNotFound = 5&lt;br /&gt;
&lt;br /&gt;
SentViaMail = 100&lt;br /&gt;
&lt;br /&gt;
FailedSendingViaMail = 101&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|401 - Unauthorized&lt;br /&gt;
|-&lt;br /&gt;
|Error Resposne&lt;br /&gt;
|403 - Forbidden&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|500 - Internal server error&lt;br /&gt;
|-&lt;br /&gt;
|Sample Request&lt;br /&gt;
|webservice/getstatus.php?=smsuser&amp;amp;pwd=testpassword123&amp;amp;id=1&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 curl -X POST https://modem.ums.dk/webservice/getstatus.php?username=&amp;amp;#x3C;USERNAME&amp;amp;#x3E;&amp;amp;pwd=&amp;amp;#x3C;PASSWORD&amp;amp;#x3E;&amp;amp;id=&amp;amp;#x3C;ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Deleting the SMS queue==&lt;br /&gt;
Locate the &amp;quot;mnt/flash/spool/all#&amp;quot; and use the &amp;quot;rm *&amp;quot; command to purge everything within the folder.&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=InLogic_SMS_Gateway&amp;diff=4669</id>
		<title>InLogic SMS Gateway</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=InLogic_SMS_Gateway&amp;diff=4669"/>
		<updated>2023-03-07T10:22:07Z</updated>

		<summary type="html">&lt;p&gt;Ori: /* Update inLogic files and Database from command line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important==&lt;br /&gt;
To be able to send SMS, the inLogic SMS Gateway requires GSM modems with USB interface. We recommend &amp;quot;HUAWEI LTE USB Stick Model: E3372&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Hardware Compatibility List===&lt;br /&gt;
[http://consumer.huawei.com/en/mobile-broadband/e3531/specs/ Huawei E3531]&lt;br /&gt;
&lt;br /&gt;
[http://consumer.huawei.com/en/mobile-broadband/e3372/ Huawei E3372] (inLogic&#039;s choice)&lt;br /&gt;
&lt;br /&gt;
[http://consumer.huawei.com/lk/mobile-broadband/dongles/features/e3131-lk.htm Huawei E3131i]&lt;br /&gt;
&lt;br /&gt;
[http://www.tp-link.com/la/products/details/cat-5090_MA260.html TP-Link MA260]&lt;br /&gt;
&lt;br /&gt;
==Network Port Openings==&lt;br /&gt;
&lt;br /&gt;
====TCP port openings from server to gateway. TCP port opening where UMS sms sever service run.====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Port&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|SSH access&lt;br /&gt;
|-&lt;br /&gt;
|443&lt;br /&gt;
|HTTPS access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====TCP port openings from gateway to server.====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Port&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|80&lt;br /&gt;
|HTTP access&lt;br /&gt;
|-&lt;br /&gt;
|443&lt;br /&gt;
|HTTPS access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prepare Modem==&lt;br /&gt;
{|&lt;br /&gt;
![[File:20180516 104258-50%.jpg|none|thumb|800x800px]]&lt;br /&gt;
!Plug-in Modems&lt;br /&gt;
&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|[[File:20180516 104358-50%.jpg|none|thumb|800x800px]]&lt;br /&gt;
|&#039;&#039;&#039;Plug-in Ethernet cable&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plug-in power cable&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==System Login==&lt;br /&gt;
Once the gateway is [[#Prepare Modem|prepared]] and booted, open a browser and go to http://192.168.1.2. Login through the &#039;Login&#039; button in the top right corner. &lt;br /&gt;
[[File:Main Login button.png|none|thumb|1240x1240px]]&lt;br /&gt;
You will now see a login box where you can log in with with USERNAME: admin and PASSWORD: admin.&lt;br /&gt;
[[File:Login.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Main Page==&lt;br /&gt;
After logging in, the system info page appears. This page shows the gateway&#039;s status.[[File:Main.png|none|thumb|1240x1240px]]&lt;br /&gt;
To open the menu, click on this icon:  [[File:Foxbox menu button.png|frameless|23x23px]]&lt;br /&gt;
[[File:Main with menu.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Network Configuration==&lt;br /&gt;
Click on menu tab &#039;Network config&#039;.&lt;br /&gt;
&lt;br /&gt;
Change the IP settings and press &#039;Save Configuration&#039;. When you have saved your settings, [[InLogic SMS Gateway#Reboot|Reboot]] the gateway as instructed below in &#039;Modem Settings&#039;.&lt;br /&gt;
[[File:Network Config.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Modem Settings==&lt;br /&gt;
&lt;br /&gt;
===Hostname and Frontend Settings===&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
Set &#039;Modem Hostname&#039; as FQDN and save your changes. Your modem will now restart.[[File:Modem Settings Hostname.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
====Frontend====&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
If redirect is enable on iis set (HTTPS) &lt;br /&gt;
&lt;br /&gt;
Change &#039;FrontEnd Address&#039; to fit your configuration and save your settings.[[File:Modem Settings Frontend.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Certificate Settings (https)===&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
Click &#039;Choose File&#039; and choose a .pfx certificate from your computer.&lt;br /&gt;
&lt;br /&gt;
Entera a .pfx certificate password in the &#039;Certificate Password&#039; field and click &#039;Save&#039;.&lt;br /&gt;
[[File:Modem Settings Certificate.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===User Settings===&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
The default admin user password is &#039;admin&#039;. To change the default admin user password, write the new password in the &#039;Password&#039; field just below the &#039;Username&#039; field admin.&lt;br /&gt;
&lt;br /&gt;
The default sendsms user password is &#039;sendsms&#039;. To change the default sendsms user password, write the new password in the &#039;Password&#039; field just below the &#039;Username&#039; field sendsms.&lt;br /&gt;
&lt;br /&gt;
Click &#039;Save&#039; to confirm the password change.&lt;br /&gt;
[[File:Modem Settings User.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Control Panel==&lt;br /&gt;
Open the menu and go to &#039;Control Panel&#039;. &lt;br /&gt;
&lt;br /&gt;
Here, you can see staus, as well as turn on and off, the SMS Engine.[[File:Control Panel.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==SMS==&lt;br /&gt;
&lt;br /&gt;
===Inbox===&lt;br /&gt;
To see a log for incoming messages, open the menu and go to &#039;Inbox&#039;. &lt;br /&gt;
[[File:Inbox.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Outbox===&lt;br /&gt;
To see a log for outgoing messages, open the menu and go to &#039;Outbox&#039;. &lt;br /&gt;
[[File:Outbox.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Failed===&lt;br /&gt;
To see a log for failed messages, open the menu and go to &#039;Failed&#039;. &lt;br /&gt;
[[File:Failed.png|none|thumb|1240x1240px]]&lt;br /&gt;
===Write New===&lt;br /&gt;
To write a new SMS, open the menu and go to &#039;Write New&#039;.&lt;br /&gt;
&lt;br /&gt;
Choose the modem you wish to send your message from in the drop down menu &#039;Outgoing channel&#039;. If left blank, the system will choose the first available modem.&lt;br /&gt;
&lt;br /&gt;
Enter the phone number you wish to send your SMS to in the &#039;To&#039; field. Pleas note that international prefix is mandatory.&lt;br /&gt;
&lt;br /&gt;
Write your message in the &#039;Message&#039; field.&lt;br /&gt;
&lt;br /&gt;
When you have finished, click &#039;Send&#039;.[[File:Write New guide.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Time Zone Settings==&lt;br /&gt;
Open the menu and go to &#039;Time Zone Settings&#039;.&lt;br /&gt;
&lt;br /&gt;
The NTP &amp;amp; Time Zone Settings is by default set to enable external NTP. &lt;br /&gt;
&lt;br /&gt;
For internal NTP, uncheck the &#039;Enable External NTP&#039; box and write a list of NTP servers separated by comma, in the &#039;Internal NTP&#039; field.&lt;br /&gt;
&lt;br /&gt;
To change your time zone, choose a time zone from the &#039;Time Zone&#039; drop down menu.&lt;br /&gt;
&lt;br /&gt;
Click &#039;Save&#039; to change your settings.&lt;br /&gt;
[[File:Time Zone Settings.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
Use &#039;in browser&#039; shell to change advanced settings. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u style=&amp;quot;color:red;&amp;quot;&amp;gt;Use with caution!&amp;lt;/u&amp;gt; Please note that if you make any changes without consulting us first, support will be charged accordingly with our hourly rate.&lt;br /&gt;
[[File:Modem Settings Shell.png|none|thumb|1240x1240px]]&lt;br /&gt;
===Root Settings===&lt;br /&gt;
Change of root password require putty.exe. Default root password can be requested from inlogic. &lt;br /&gt;
&lt;br /&gt;
Use Putty.exe to connect to Inlogic Gateway, run command &#039;&#039;(sudo passwd root&#039;&#039;) and follow the instructions on screen.&lt;br /&gt;
[[File:Modem Settings Root.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
Additional information about the product, users, and programs used in the tutorial.&lt;br /&gt;
====Usernames and passwords====&lt;br /&gt;
====SSH Clients====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+A list of SSH Clients&lt;br /&gt;
!Program name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
|PuTTy&lt;br /&gt;
|https://www.putty.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Open source FTP Client====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+A list of FTP clients&lt;br /&gt;
!Program name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
|WinSCP&lt;br /&gt;
|https://winscp.net/eng/index.php&lt;br /&gt;
|-&lt;br /&gt;
|FileZilla&lt;br /&gt;
|https://filezilla-project.org/&lt;br /&gt;
|}&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
===Linux commands===&lt;br /&gt;
&lt;br /&gt;
==== Update ubuntu ====&lt;br /&gt;
 sudo apt-get update -y&lt;br /&gt;
 sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
====Update inLogic files and Database from command line====&lt;br /&gt;
 rm -rf /mnt/Update/update&lt;br /&gt;
 wget --no-check-certificate &amp;lt;nowiki&amp;gt;https://downloads.inlogic.dk/inlogicgatewaymodem/Update.zip&amp;lt;/nowiki&amp;gt; -O /mnt/Update/Update.zip&lt;br /&gt;
 unzip /mnt/Update/Update.zip -d /mnt/Update/update&lt;br /&gt;
 chmod 777 /mnt/Update/update/mnt/flash/root/updateservice/update.sh&lt;br /&gt;
 /mnt/Update/update/mnt/flash/root/updateservice/update.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Commands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Commands shows Status of Apache (systemctl status apache2.service)&lt;br /&gt;
*update system ( apt-get udate  apt-get update)&lt;br /&gt;
&lt;br /&gt;
====Update ubuntu from 18 to 20====&lt;br /&gt;
Use default answers when running these commands.&lt;br /&gt;
 sudo sed -i &#039;s/bionic/focal/g&#039; /etc/apt/sources.list&lt;br /&gt;
 sudo sed -i &#039;s/bionic/focal/g&#039; /etc/apt/sources.list.d/odroid.list&lt;br /&gt;
 sudo apt-get update -y&lt;br /&gt;
 sudo apt-get upgrade -y&lt;br /&gt;
 sudo apt-get dist-upgrade -y&lt;br /&gt;
&lt;br /&gt;
====How to change IP settings====&lt;br /&gt;
&lt;br /&gt;
*nano /etc/network/interfaces.d/eth0&lt;br /&gt;
*nano /etc/resolv.conf&lt;br /&gt;
*reboot&lt;br /&gt;
&lt;br /&gt;
====Logs====&lt;br /&gt;
&lt;br /&gt;
=====Log viewers=====&lt;br /&gt;
&lt;br /&gt;
*tail&lt;br /&gt;
*tail -f (this is similar to using cmtrace in windows)&lt;br /&gt;
*nano&lt;br /&gt;
*vim&lt;br /&gt;
&lt;br /&gt;
=====Log files=====&lt;br /&gt;
&lt;br /&gt;
*/var/log/smstools/smsd.log&lt;br /&gt;
*/var/log/syslog&lt;br /&gt;
*/var/log/mysql/error.log&lt;br /&gt;
*/var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
=====See USB devices=====&lt;br /&gt;
&lt;br /&gt;
*lsusb&lt;br /&gt;
&lt;br /&gt;
==Rest API==&lt;br /&gt;
Theres a REST API to use, to send messages from the inLogic SMS Gateway.&lt;br /&gt;
&lt;br /&gt;
===Send SMS===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|URL&lt;br /&gt;
|source/send_sms.php&lt;br /&gt;
|-&lt;br /&gt;
|Method&lt;br /&gt;
|POST&lt;br /&gt;
|-&lt;br /&gt;
|URL Parameters&lt;br /&gt;
|Username&lt;br /&gt;
&lt;br /&gt;
Password&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
Message&lt;br /&gt;
|-&lt;br /&gt;
|Success Response&lt;br /&gt;
|200 - Success&lt;br /&gt;
Returns ID of send SMS&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|401 - Unauthorized&lt;br /&gt;
|-&lt;br /&gt;
|Error Resposne&lt;br /&gt;
|403 - Forbidden&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|500 - Internal server error&lt;br /&gt;
|-&lt;br /&gt;
|Sample Request&lt;br /&gt;
|source/send_sms.php?username=smsuser&amp;amp;pwd=testpassword123&amp;amp;from=ums&amp;amp;to=22446688&amp;amp;message=Dette er en test besked&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 curl -X POST &amp;lt;nowiki&amp;gt;https://modem.ums.dk/source/send_sms.php?username=&amp;lt;/nowiki&amp;gt;&amp;lt;USERNAME&amp;gt;&amp;amp;pwd=&amp;lt;PASSWORD&amp;gt;&amp;amp;from=ums&amp;amp;to=&amp;lt;RECIEPIENT&amp;gt;&amp;amp;message=&amp;lt;MESSAGE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Check SMS Status===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|URL&lt;br /&gt;
|webservice/getstatus.php&lt;br /&gt;
|-&lt;br /&gt;
|Method&lt;br /&gt;
|POST&lt;br /&gt;
|-&lt;br /&gt;
|URL Parameters&lt;br /&gt;
|Username&lt;br /&gt;
&lt;br /&gt;
Password&lt;br /&gt;
&lt;br /&gt;
ID&lt;br /&gt;
|-&lt;br /&gt;
|Success Response&lt;br /&gt;
|200 - Success&lt;br /&gt;
Returns status of send SMS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ScheduledToSend = -1&lt;br /&gt;
&lt;br /&gt;
OK = 0&lt;br /&gt;
&lt;br /&gt;
OK_WithError = 1&lt;br /&gt;
&lt;br /&gt;
InUMSQueue = 2&lt;br /&gt;
&lt;br /&gt;
InModemQueue = 3&lt;br /&gt;
&lt;br /&gt;
Failed = 4&lt;br /&gt;
&lt;br /&gt;
IDNotFound = 5&lt;br /&gt;
&lt;br /&gt;
SentViaMail = 100&lt;br /&gt;
&lt;br /&gt;
FailedSendingViaMail = 101&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|401 - Unauthorized&lt;br /&gt;
|-&lt;br /&gt;
|Error Resposne&lt;br /&gt;
|403 - Forbidden&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|500 - Internal server error&lt;br /&gt;
|-&lt;br /&gt;
|Sample Request&lt;br /&gt;
|webservice/getstatus.php?=smsuser&amp;amp;pwd=testpassword123&amp;amp;id=1&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 curl -X POST https://modem.ums.dk/webservice/getstatus.php?username=&amp;amp;#x3C;USERNAME&amp;amp;#x3E;&amp;amp;pwd=&amp;amp;#x3C;PASSWORD&amp;amp;#x3E;&amp;amp;id=&amp;amp;#x3C;ID&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ori</name></author>
	</entry>
</feed>