承接 italia/spid-symfony-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

italia/spid-symfony-bundle

Composer 安装命令:

composer require italia/spid-symfony-bundle

包简介

A Bundle to make Symfony3 capable of using SPID authentication, based on italia/spid-php-lib

README 文档

README

⚠️ WORK IN PROGRESS ⚠️

Questo bundle permette di integrare facilmente la libreria italia/spid-php-lib in un progetto Symfony.

Vengono messe a disposizione delle rotte e dei servizi che possono essere facilmente sovrascritti

Una necessità tipica che non viene implementata da questo bundle è la necessità di salvare i dati dell'utente che arrivano tramite SPID.

Installazione

Step 1: Installazione e configurazione

Installare il repository tramite composer

composer require italia/spid-simfony-bundle

Abilitare il bundle aggiungendolo all' AppKernel

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Italia\SpidSymfonyBundle\SpidSymfonyBundle(),
        );

        // ...
    }

    // ...
}

Configurare il security.yml per usare l'authenticator e lo user provider

security:
  providers:
    spid_user_provider:
      id: id_del_servizio
  firewalls
    spid:
      pattern: /il/vostro/pattern/
      guard:
        provider: spid_user_provider
        authenticators:
          - spid.authenticator

Il guardAuthenticator proposto è molto basilare, va esteso secondo le necessità del progetto

Includere il routing se si vogliono usare le rotte di default

spid_security:
  resource: '@SpidSymfonyBundle/Resources/config/routing/saml_routes.yml'

Prestare attenzione alla rotta acs che deve ovviamente coincidere con la rotta esposta

Aggiungere la configurazione del bundle:

spid_symfony:
  sp_entityid: 'http://some.site.it'
  sp_key_file: '%kernel.root_dir%/../example/sp.key'
  sp_cert_file: '%kernel.root_dir%/../example/sp.crt'
  sp_singlelogoutservice: 
    - [ 'http://some.site.it/slo', '' ]
  sp_org_name: 'dev-system'
  sp_attributeconsumingservice:
    - ["name", "familyName", "fiscalNumber", "email"]
    - ["name", "familyName", "fiscalNumber", "email", "spidCode"]
  sp_assertionconsumerservice:
    - 'http://some.site.it/acs'
  sp_org_display_name: 'Sistema di Sviluppo'
  idp_metadata_folder: '%kernel.root_dir%/../example/idp_metadata'

Step 2: (opzionale) salvataggio dell'utente

Se necessario è possibile salvare l'utente recuperato tramite PISD. Il punto più logico dove farlo è dentro l'Authenticator fornito, facendo override del metodo getUser e sfruttando i dati contenuti in $credentials per istanziare un nuovo utente da persistere

Overrides:

Il template di login può essere sovrascritto mettendo il proprio in app/Resources/SpidSymfonyBundle/views/Security/chooseidp.html.twig Per la documentazione relativa al pulsante SPID standard fare riferimento a https://github.com/italia/spid-smart-button Ce n'è una versione disponibile nel bundle per comodità di test in fase di sviluppo, la versione fornita va sostituita con quella valida al momento della messa in produzione.

Il pulsante fornito con questo bundle non è garantito come valido o funzionante

IDP

Per configurare l'IDP di test fare riferimento a https://github.com/italia/spid-testenv2

统计信息

  • 总下载量: 925
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 8
  • Forks: 6
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2018-10-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固