Kann ich den Konfigurator nur für bestimmte Nutzer freigeben?
Wenn Ihr Konfigurator nicht öffentlich zugänglich sein soll, können Sie den Zugang sperren. Es gibt verschiedene Motivationen, das zu tun:
- Nur bestimmte bekannte Personen sollen konfigurieren dürfen.
- Es sollen nur Kunden auf den Konfigurator kommen, die schon in Ihrem Shop oder Ihrem ERP angemeldet sind.
Auth0
Wir nutzen dazu den bekannten Anmelde-Dienst https://auth0.com/.
Sie können sich dort einen kostenfreien Zugang einrichten.
- Legen Sie dann eine Application an.
- Wählen Sie unter Settings > Application Type "Single Page Application".
- Fügen Sie unter Settings > Allowed Callback URLs und Allowed Web Origins "https://k3.objectcode.de/app" hinzu.
- Setzen Sie Credentials > Authentication Method auf "None".
Notieren Sie unter Settings "domain" und "clientId" Ihrer Application.
Anmelde-Systeme anbinden
Das ist der eigentliche Clou von Auth0: Auth0 muss die Nutzer nicht selbst verwalten – es kann sich vor Ihr bestehendes Anmelde-System schalten und dort anmelden lassen. Der Konfigurator spricht immer nur mit Auth0; welches System dahinter steht, wählen Sie in Auth0 unter Connections. Das können auch mehrere gleichzeitig sein.
Typische Fälle:
Eigenes Benutzer-Management
Sie pflegen die erlaubten Personen direkt in Auth0. Am einfachsten für einen überschaubaren, bekannten Nutzerkreis.
- Aktivieren Sie in Ihrer Application die Connection "Username-Password-Authentication".
- Legen Sie Nutzer unter User Management > Users > Create User an (E-Mail + Passwort, Connection "Username-Password-Authentication").
WordPress und andere CMS
Für den relativ häufigen Fall, dass Sie WordPress verwenden wollen, können Sie den kostenfreien Plan von Auth0 nutzen.
Machen Sie zunächst Ihr WordPress zu einem "OAuth2-Server":
- Installieren und aktivieren Sie dieses WordPress-Plugin.
- Klicken Sie in der Seitenleiste auf "miniOrange OAuth Server"
- Wählen Sie einen "Client Name" und speichern Sie.
- Lassen Sie diese Seite offen, Sie benötigen Informationen daraus.
Stellen Sie nun in Auth0 die Verbindung her:
- Klicken Sie auf Authentication > Social
- Klicken Sie auf "Create Connection"
- Wählen Sie die letzte Option, "Create Custom"
- Geben Sie der Connection einen Namen.
- Übertragen Sie aus der WordPress Plugin Seite:
- Authorization URL
- Token URL
- Scope
- Client ID
- Client Secret
- Notieren Sie den "Userinfo Endpoint".
Tragen Sie abschliessend diesen Code in das Feld "Fetch User Profile Script" ein, ersetzen Sie dabei den "Userinfo Endpoint":
function(accessToken, ctx, cb) {
request({
method: 'GET',
url: '<Userinfo Endpoint>',
headers: {
Authorization: 'Bearer ' + accessToken
}
}, function(err, resp, body) {
if(err) {
return cb(err)
}
if(resp.statusCode !== 200) {
return cb(new Error('StatusCode:' + resp.statusCode));
}
let bodyParsed;
try {
bodyParsed = JSON.parse(body);
} catch (jsonError) {
return cb(new Error(body));
}
const profile = {
user_id: "anonymous",
name: "none"
};
cb(null, profile);
}
);
}
- Klicken Sie auf "Save changes"
- Klicken Sie auf "Try Connection"
Sie sollten nun auf Ihre Webseite gelenkt werden und diese verwenden können. Wenn das erfolgreich ist, können Sie die neue "Social connection" ihrer "Application" hinzufügen.
ERP, Shop oder SSO
Sollen sich nur Nutzer anmelden können, die bereits in Ihrem ERP, Shop oder Firmen-Login sind, binden Sie dieses per Single-Sign-On an:
- Unter Authentication > Enterprise > SAML richten Sie SSO mit Ihrem ERP, Shop oder Ihrer Webseite ein.
- Unter Authentication > Social können Sie zusätzlich Anbieter wie Google zulassen.
In K3 aktivieren
- Wechseln Sie nun im K3 in die Optionen Ihres Konfigurators.
- Dort in den Tab Konfigurator-Zugang.
- Schalten Sie die Anmeldung ein.
- Tragen Sie "domain" und "clientId" Ihrer Auth0-Application ein.
- Speichern Sie und vergessen Sie nicht, zu veröffentlichen.
Damit erfragt die Live Version Ihres Konfigurators eine Anmeldung über Auth0.