|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nachrichtenartikel zu Kryptowährungen
So konfigurieren Sie eine SAML-Konfiguration durch den Kunden für meine SaaS-Anwendung
May 27, 2024 at 05:03 am
Für meine SaaS-Anwendung möchte ich eine SAML-Konfiguration durch den Kunden konfigurieren. Ich möchte die Konfiguration meines Symfony One Login Bundle ändern können, um sie an die Konfiguration meines Kunden anzupassen.

This guide will help you configure SAML SSO for your Symfony application on a per-customer basis. You'll need to adjust the configuration of the Symfony One Login Bundle to match the specific requirements of each customer.
Dieser Leitfaden hilft Ihnen bei der Konfiguration von SAML SSO für Ihre Symfony-Anwendung auf Kundenbasis. Sie müssen die Konfiguration des Symfony One Login Bundle an die spezifischen Anforderungen jedes Kunden anpassen.
First, determine the appropriate bundle based on your Symfony version:
Bestimmen Sie zunächst das passende Bundle basierend auf Ihrer Symfony-Version:
* For Symfony 6, install the nbgrp/onelogin-saml-bundle from GitHub.
* Für Symfony 6 installieren Sie das nbgrp/onelogin-saml-bundle von GitHub.
* For earlier Symfony versions, start with the hslaovich/OneloginSamlBundle from GitHub.
* Beginnen Sie für frühere Symfony-Versionen mit dem hslaovich/OneloginSamlBundle von GitHub.
Next, add the default configuration. If this step is skipped, the application will fail to function properly. Edit the config/packages/nbgrp_onelogin_saml.yaml file as follows:
Als nächstes fügen Sie die Standardkonfiguration hinzu. Wenn dieser Schritt übersprungen wird, funktioniert die Anwendung nicht ordnungsgemäß. Bearbeiten Sie die Datei config/packages/nbgrp_onelogin_saml.yaml wie folgt:
```yaml
„yaml
nbgrp_onelogin_saml:
nbgrp_onelogin_saml:
idp:
idp:
default:
Standard:
settings:
Einstellungen:
assertionConsumerService:
AssertionConsumerService:
url: '%env(SAML_ASSERTION_CONSUMER_SERVICE)%'
URL: '%env(SAML_ASSERTION_CONSUMER_SERVICE)%'
issuer: '%env(SAML_ISSUER)%'
Aussteller: '%env(SAML_ISSUER)%'
spEntityId: '%env(SAML_SP_ENTITY_ID)%'
spEntityId: '%env(SAML_SP_ENTITY_ID)%'
x509cert: '%env(SAML_X509_CERT)%'
x509cert: '%env(SAML_X509_CERT)%'
```
„
Update the config/packages/security.yaml file as well:
Aktualisieren Sie auch die Datei config/packages/security.yaml:
```yaml
„yaml
security:
Sicherheit:
encoders:
Encoder:
Symfony\Component\Security\Core\User\User: plaintext
Symfony\Component\Security\Core\User\User: Klartext
providers:
Anbieter:
saml:
saml:
nbgrp_onelogin_saml
nbgrp_onelogin_saml
firewalls:
Firewalls:
main:
hauptsächlich:
saml:
saml:
path: ^/saml
Pfad: ^/saml
provider: saml
Anbieter: saml
entry_point: nbgrp_onelogin_saml_entry_point
Eintragspunkt: nbgrp_onelogin_saml_entry_point
logout_entry_point: nbgrp_onelogin_saml_logout_entry_point
logout_entry_point: nbgrp_onelogin_saml_logout_entry_point
logout_success_handler: nbgrp_onelogin_saml_logout_success_handler
logout_success_handler: nbgrp_onelogin_saml_logout_success_handler
logout:
Ausloggen:
path: ^/logout$
Pfad: ^/logout$
```
„
The nbgrp/onelogin-saml-bundle utilizes compilerpass to inject configuration into a registry in an array indexed by idp, which is then used throughout the application. We'll override this functionality and load the configuration dynamically from the database based on the hostname.
Das nbgrp/onelogin-saml-bundle verwendet Compilerpass, um die Konfiguration in einem von IDP indizierten Array in eine Registrierung einzufügen, die dann in der gesamten Anwendung verwendet wird. Wir überschreiben diese Funktionalität und laden die Konfiguration basierend auf dem Hostnamen dynamisch aus der Datenbank.
Create a new service in the api/config/services.yaml file:
Erstellen Sie einen neuen Dienst in der Datei api/config/services.yaml:
```yaml
„yaml
services:
Dienstleistungen:
app.saml_configuration_loader:
app.saml_configuration_loader:
class: App\Security\SamlConfigurationLoader
Klasse: App\Security\SamlConfigurationLoader
arguments:
Argumente:
- '@doctrine.orm.default_entity_manager'
- '@doctrine.orm.default_entity_manager'
```
„
Override relevant portions of the bundle:
Überschreiben Sie relevante Teile des Pakets:
Those files will be overridden to enable dynamic configuration of the login controller, metadata, and authenticator.
Diese Dateien werden überschrieben, um eine dynamische Konfiguration des Anmeldecontrollers, der Metadaten und des Authentifikators zu ermöglichen.
Login Controller
Login-Controller
Override the api/vendor/nbgrp/onelogin-saml-bundle/src/Controller/Login.php file to utilize our configuration.
Überschreiben Sie die Datei api/vendor/nbgrp/onelogin-saml-bundle/src/Controller/Login.php, um unsere Konfiguration zu verwenden.
In the __construct method, we autowire and add our service.
Bei der __construct-Methode verdrahten wir unseren Service automatisch und fügen ihn hinzu.
```php
```php
use App\Security\SamlConfigurationLoader;
verwenden Sie App\Security\SamlConfigurationLoader;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
verwenden Sie Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\DependencyInjection\ContainerInterface;
verwenden Sie Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\Request;
verwenden Sie Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
verwenden Sie Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
verwenden Sie Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
verwenden Sie Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
class LoginController extends AbstractController
Die Klasse LoginController erweitert AbstractController
{
{
private $samlConfigurationLoader;
private $samlConfigurationLoader;
public function __construct(ContainerInterface $container, SamlConfigurationLoader $samlConfigurationLoader)
öffentliche Funktion __construct(ContainerInterface $container, SamlConfigurationLoader $samlConfigurationLoader)
{
{
parent::__construct($container);
parent::__construct($container);
$this->samlConfigurationLoader = $samlConfigurationLoader;
$this->samlConfigurationLoader = $samlConfigurationLoader;
}
}
*/
public function login(AuthenticationUtils $authenticationUtils, Request $request): Response
öffentliche Funktion login(AuthenticationUtils $authenticationUtils, Request $request): Antwort
{
{
$host = $request->server->get('HTTP_HOST');
$host = $request->server->get('HTTP_HOST');
$samlSettings = $this->samlConfigurationLoader->getSettingsFromHost($host);
$samlSettings = $this->samlConfigurationLoader->getSettingsFromHost($host);
// ...
// ...
}
}
}
}
```
„
Metadata
Metadaten
Line 19: Add our service.
Zeile 19: Fügen Sie unseren Service hinzu.
```php
```php
use App\Security\SamlConfigurationLoader;
verwenden Sie App\Security\SamlConfigurationLoader;
use Symfony\Component\DependencyInjection\ContainerInterface;
verwenden Sie Symfony\Component\DependencyInjection\ContainerInterface;
class MetadataController extends Controller
Die Klasse MetadataController erweitert Controller
{
{
public static function create(ContainerInterface $container): MetadataController
öffentliche statische Funktion create(ContainerInterface $container): MetadataController
{
{
$samlConfigurationLoader = $container->get(SamlConfigurationLoader::class);
$samlConfigurationLoader = $container->get(SamlConfigurationLoader::class);
return new self($samlConfigurationLoader);
return new self($samlConfigurationLoader);
}
}
public function __invoke(Request $request): Response
öffentliche Funktion __invoke(Request $request): Antwort
{
{
$host = $request->server->get('HTTP_HOST');
$host = $request->server->get('HTTP_HOST');
$samlSettings = $this->samlConfigurationLoader->getSettingsFromHost($host);
$samlSettings = $this->samlConfigurationLoader->getSettingsFromHost($host);
// ...
// ...
}
}
}
}
```
„
Haftungsausschluss:info@kdj.com
Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!
Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.
-
-
- Konsens 2026 Miami: Web3, Blockchain, Kryptowährung, NFTs, Metaverse, Konferenz, 5. Mai – Wo die Wall Street auf die digitale Grenze trifft
- May 01, 2026 at 11:27 pm
- In Miami herrscht Aufregung, während sich am 5. Mai der Konsens 2026 nähert, der Web3, Blockchain, Krypto, NFTs und den Wandel des Metaversums vom Hype zur institutionellen und nachhaltigen Realität hervorhebt.
-
- Die Fed hält die Zinsen stabil, was inmitten geopolitischer Spannungen einen Bitcoin-Preisverfall auslöst
- May 01, 2026 at 04:04 am
- Die Entscheidung der Federal Reserve, die Zinssätze beizubehalten, wirkt sich in Verbindung mit dem Nahostkonflikt auf den Preis von Bitcoin aus. Analyse aktueller Trends und Marktreaktionen.
-
- Bitcoin-Miner elektrifizieren das Netz: Der Erwerb eines Gaskraftwerks in Ohio läutet eine neue Ära für digitales Gold ein
- Apr 30, 2026 at 10:38 pm
- Die Bitcoin-Mining-Branche befindet sich in einem erheblichen Wandel, wobei große Akteure ihre Aktivitäten aggressiv ausweiten und strategisch Energieanlagen wie Gaskraftwerke in Ohio erwerben, um ihre Zukunft in der digitalen Wirtschaft zu festigen.
-
- Der MEGA-Token von MegaETH erreicht den Big Apple: Er setzt neue Leistungsmaßstäbe für Echtzeit-Blockchain
- Apr 30, 2026 at 09:11 pm
- Der MEGA-Token von MegaETH wurde offiziell eingeführt und bestätigt seine „Echtzeit“-Blockchain-Vision mit einem leistungsorientierten Verteilungsmodell und einer schnellen USDM-Stablecoin-Einführung.
-
- Solanas rutschiger Abhang: Die Preisprognose deutet auf einen Widerstandsverlust und mögliche weitere Rückgänge hin
- Apr 30, 2026 at 09:08 pm
- Solana kämpft darum, wichtige Widerstände zu durchbrechen, was auf einen möglichen Abwärtstrend hindeutet. Wiederholte Ablehnungen bei 86 bis 88 US-Dollar, gepaart mit einem unterbrochenen kurzfristigen Muster, deuten auf Ziele von nur 67 US-Dollar oder sogar 40 US-Dollar hin, da die Verkäufer die Kontrolle behalten. Anleger sollten die kritischen Unterstützungsniveaus genau beobachten.
-
- BTC, Öl, Gewinne: Geopolitik treibt Rohöl an, Kryptos rutschen ab, Triumphe und Prüfungen der Technologie
- Apr 30, 2026 at 04:51 pm
- Die globalen Märkte sind ein Wirbelsturm: BTC sinkt, während der Ölpreis aufgrund geopolitischer Spannungen Mehrjahreshöchststände erreicht, während Technologiegiganten gemischte Gewinne verbuchen, was ein Zeichen für eine komplexe Finanzlandschaft ist.
-
- New York Citys neuer Trend: Abstecksysteme, USD1 und Governance treiben die nächste Welle von Krypto voran
- Apr 30, 2026 at 03:02 pm
- Von lukrativen 1-Dollar-Verdienstveranstaltungen bis hin zu robusten Governance-Modellen wimmelt es im Kryptobereich von Innovationen, die die Art und Weise, wie wir mit digitalen Vermögenswerten umgehen, neu gestalten und sich dabei auf langfristiges Engagement und den Nutzen stabiler Münzen konzentrieren.
-
- OKX stellt Agent Payments Protocol vor: läutet eine neue Ära der KI-Transaktionen ein
- Apr 30, 2026 at 02:53 pm
- OKX führt sein Agent Payments Protocol (APP) ein, einen offenen Standard für KI-gesteuerten Handel, der es Agenten ermöglicht, komplette Geschäftszyklen zu verwalten. Entdecken Sie die Auswirkungen auf KI-Transaktionen und Agentenzahlungen.

































