承接 amsi/bank-id 相关项目开发

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

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

amsi/bank-id

Composer 安装命令:

composer require amsi/bank-id

包简介

Library for BankID NBU api

README 文档

README

Requirements

You need to download and install PHP extension EUSPHPE. Instalation manual is located in

  • root
    • EUSPHPE
      • EUSignPHPDescription.doc

Short manual for PHP-FPM (PHP v. 8.0)

  1. Create a directory - /usr/lib/php/8.0/eusphpe_extension
  2. Unpack downloaded archive to /usr/lib/php/8.0/eusphpe_extension directory | Pick only needed file (archive/Modules/Linux/64/eusphpei.64.8.0.3.tar)
  3. Add to /usr/lib/systemd/system/php8.0-fpm.service this line of code
    export LD_LIBRARY_PATH=/usr/lib/php/8.0/eusphpe_extension
  4. Create a new file /etc/php/8.0/fpm/conf.d/eusphpe.ini, to this file add
    extension=/usr/lib/php/8.0/eusphpe_extension/eusphpe.so
  5. Create a new directory for certificates (for example /data/certificates)
  6. Open /usr/lib/php/8.0/eusphpe_extension/osplm.ini and edit Path parameter (for example /data/certificates (directory from previous step)).
  7. Open certificate directory (for example /data/certificates) and unpack this archive inside it. 8.Restart FPM service php8.0-fpm restart

Optional:

Install EUSPHPE stubs for IDE

Second step:

composer require amsi/bankid-api

Usage example

Example file is authenticate.php. Create a new BankIdProvider

$bankIdProvider = new BankID(  
  new Client(  
     CLIENT_ID,       // -> Client ID reciveved from NBU  
     CLIENT_SECRET,  // -> Client SECRET reciveved from NBU
     REDIRECT_URL,  // -> Redirect URL, defiened for NBU 
     $cert,        // -> file_get_contents('certificate.cer')
     $key,        // -> file_get_contents('key.day')
     CERT_PASS,  // -> Certificate password 
  new Config(Config::ENV_TEST) // -> For prod end -> new Config
 ));
  1. Obtain authorization code
if (!isset($_GET['code'])) {
    $authUrl = $bankIdProvider->getAuthorizationUrl();
    $_SESSION['oauth2state'] = $bankIdProvider->getState();
    header(sprintf('Location: %s', $authUrl));
    exit;
}
  1. Obtain access token
$token = $bankIdProvider->getAccessToken('authorization_code', [
    'code' => $_GET['code']
]);
  1. Obtain user data
    /** @var ExpandedResourceOwnerInterface $user */ -> anotation is used to beeter code orientation
    $user = $bankIdProvider->getResourceOwner($token);

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2021-12-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固