Ablaufenden Client Secret ersetzen

Table of Contents

This post is also available in: English

Geheime Clientschlüssel für KanBo , die über die Seite AppRegNew.aspx registriert werden, laufen nach einem Jahr ab. Dieses Problem tritt nur für Benutzer von KanBo in Office 365 auf. Kontaktieren Sie uns jederzeit, wenn Sie bei support@kanboapp.com auf dieses Problem stoßen.

In diesem Artikel wird erläutert, wie Sie ein neues Geheimnis für das Add-In hinzufügen, und es wird auf diesem Microsoft-Artikel basiert.


Voraussetzungen für das Aktualisieren eines client secret. Stellen Sie Folgendes sicher, bevor Sie beginnen:


Erstellen eines Client Secret , der drei Jahre lang gültig ist

Bei abgelaufenen geheimen Clientschlüsseln müssen Sie zuerst alle abgelaufenen geheimen Schlüssel für eine bestimmte clientId löschen. Anschließend erstellen Sie eine neue App mit MSO PowerShell, warten mindestens 24 Stunden, und testen die App mit der neuen clientId und dem neuen ClientSecret-Schlüssel .

Wichtiger Hinweis für die Zukunft. Wenn beim Abrufen von Modulen Probleme auftreten, führen Sie den folgenden Befehl aus:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Dadurch wird das Sicherheitsprotokoll nur für die aktuelle Sitzung geändert. Durch Ändern des Protokolls werden Probleme behoben, bei denen die Module nicht heruntergeladen werden.

1. Starten Sie die SharePoint Online-Verwaltungsshell als Administrator

Find-Module msonline* 

Bestätigen Sie mit Y, wenn eine Frage zu NuGet gestellt wird.


Ausgabe:
Version Name Aufbewahrungsort Beschreibung
------- ---- ---------- -----------
1.1.183.8 MSOnline PSGallery Microsoft Azure Active Directory-Modul für Wind...
1.0.51 MSOnlineExt PSGallery Dieses PowerShell-Modul wurde entwickelt, um die Bürd...

2.

get-Module msonlineext
Save-Module MSOnlineExt -Path C:\windows\system32\WindowsPowerShell\v1.0\Modules  (it should download MSOnline as well and install both modules)
Get-Module -ListAvailable -Name MSOnline*

Ausgabe:
   Verzeichnis: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
Version des Modultyps Name ExportierteBefehle
---------- ------- ---- ----------------
Manifest 1.1.183.8 MSOnline {Get-MsolDevice, Remove-MsolDevice, Enable-MsolDevice, Dis...
Skript 1.0.51 MSOnlineExt {Get-MsolTenantContext, Get-MSOnlineExtTelemetryOption, Re...

Wenn Sie hier angekommen sind, ist Ihre Umgebung reday, um sich zu verbinden.

3. Schritte - Variante, wenn Sie die Admin-Mandantenrechte für Ihren Mandanten haben:

import-module MSOnline
$msolcred = get-credential 
connect-msolservice -credential $msolcred

Schritte – Variante, wenn Sie einen Partnerzugriff auf einen anderen Mandanten verwenden:

import-module MSOnline
$msolcred = get-credential
connect-msolservice -credential $msolcred
$MSOLTenantid = (get-msolpartnercontract -domain <name of tenant>.onmicrosoft.com).tenantid.guid
connect-msolservice -credential $msolcred

4. Die Schritte sind für beide Varianten von hier aus ähnlich:

$clientId = "<your client id from web.config>"
$keys = Get-MsolServicePrincipalCredential -AppPrincipalId $clientId  (press Enter)
Write-Output $keys

Ausgabe:
Art :Passwort
Wert :
Schlüssel-ID : A6C1CDFA-4074-4605-96EC-3D28AF31B934
Startdatum : 10.03.2017 18:35:01
Enddatum : 10.03.2018 18:35:01
Verwendung :Überprüfen
Art :Symmetrisch
Wert :
Schlüssel-ID : C8403B31-59BD-457D-8D83-555FD8389E47
Startdatum : 10.03.2017 18:35:01
Enddatum : 10.03.2018 18:35:01
Verwendung :Überprüfen
Art :Symmetrisch
Wert :
Schlüssel-ID : CB476CDC-7FB6-4DAE-A2A6-3332E4635421
Startdatum : 10.03.2017 18:35:01
Enddatum : 10.03.2018 18:35:01
Verwendung :Zeichen

5. Verwenden Sie die drei KeyIds, um dieses Skript zu erstellen, und führen Sie Folgendes aus:

Remove-MsolServicePrincipalCredential -KeyIds @("a6c1cdfa-4074-4605-96ec-3d28af31b934","c8403b31-59bd-457d-8d83-555fd8389e47","cb476cdc-7fb6-4dae-a2a6-3332e4635421") -AppPrincipalId $clientId

6. Dann überprüfen Sie:

$keys = Get-MsolServicePrincipalCredential -AppPrincipalId $clientId  
Write-Output $keys

7. Ist es leer? Keine Schlüssel? - Das ist sehr gut, denn jetzt kann man weitermachen, ansonsten die IDs noch einmal überprüfen.

$bytes = New-Object Byte[] 32
$rand = [System.Security.Cryptography.RandomNumberGenerator]::Create()
$rand.GetBytes($bytes)
$rand.Dispose()
$newClientSecret = [System.Convert]::ToBase64String($bytes)
$dtStart = [System.DateTime]::Now
$dtEnd = $dtStart.AddYears(3)
New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Symmetric -Usage Sign -Value $newClientSecret -StartDate $dtStart  -EndDate $dtEnd
New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Symmetric -Usage Verify -Value $newClientSecret   -StartDate $dtStart  -EndDate $dtEnd
New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Password -Usage Verify -Value $newClientSecret   -StartDate $dtStart  -EndDate $dtEnd
$newClientSecret    

8. Ersetzen Sie das alte Geheimnis in Ihrer web.config durch das neue aus dem Powershell-Fenster, es sollte in etwa so aussehen:


wUSGT/X8jQVyB3q+1VNBy8K1ButT1S6A5B2kWdK69uc=

10. Überprüfen Sie nun erneut die Daten. Drücken Sie die Eingabetaste, nachdem Sie den ersten Befehl eingefügt haben.

$keys = Get-MsolServicePrincipalCredential -AppPrincipalId $clientId
Write-Output $keys

Die 3 Schlüssel sollten eine Gültigkeit von heute bis heute+3 Jahre haben

11. Es kann bis zu 12 Stunden dauern, bis Office 365 den neuen geheimen Schlüssel respektiert



Aktualisieren der KanBo web.config

Falls Ihr KanBo auf einer KanBo Azure-Website gehostet wird (bereitgestellt von KanBo ), senden Sie bitte Ihren client secret an support@kanboapp.com

Wenn Ihr KanBo auf Ihrem Azure gehostet wird , fügen Sie bitte die folgende Zeile zur web.config hinzu:

1. Gehen Sie zu Kudu-Diensten (geben Sie einfach die Adresse https://YOURWEBAPP.scm.azurewebsites.net ein)

2. Geben Sie dann Debug console -> Powershell ein. In diesem Abschnitt gehen Sie bitte zum Ordner Site -> wwwroot und öffnen Sie die Webkonfiguration im Fenster Ihres Browsers.


3. Suchen Sie in web.config die folgende Zeile und entfernen Sie den alten client secret. Wenn entfernt, fügen Sie bitte dort einen neuen ein.

 <!-- <o365> -->      
<provider id="sp" type="Sharepoint" clientId="1821df97-068d-49ef-XXXX-XXXX-XXXX" clientSecret="NEWCLIENTSECRET" />
 <!-- </o365> -->

4. Speichern Sie diese Änderungen, indem Sie auf die Schaltfläche Speichern klicken.

5. Restart the web application. It can take up to 24 hours until new Client secret is deployed and KanBo starts working properly again.

War dieser Beitrag hilfreich?

Bitte kontaktieren Sie uns, wenn Sie weitere Fragen haben.