Zum Hauptinhalt springen

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".
  • Wählen Sie die Connections, die für Sie richtig sind. Das können mehrere sein:
    • "Username-Password-Authentication" erlaubt Ihnen, unter User Management konkrete Personen hinzuzufügen.
    • Unter Authentication > Social können Sie z.B. Zugriff per Google anfordern.
    • Unter Authentication > Enterprise > SAML können Sie SSO mit Ihrem ERP, Shop oder Webseite einrichten.

Notieren Sie unter Settings "domain" und "clientId" Ihrer Application.

Custom OAuth Connections für WordPress

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: bodyParsed.sub,
kycApproved: bodyParsed.kycApproved,
proSubscription: bodyParsed.proSubscription,
picture: bodyParsed.picture,
name: bodyParsed.name
};
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.

K3

  • 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.