ridibooks/internal-auth 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

ridibooks/internal-auth

最新稳定版本:v0.0.1

Composer 安装命令:

composer require ridibooks/internal-auth

包简介

Ridibooks Internal Auth

README 文档

README

Build Status

소개

  • 내부 서비스 간 통신시 인증을 위한 PHP 라이브러리입니다.
  • Ridi 스타일 가이드(내부 서비스간의 SSO)에 따라 작성 되었습니다.
  • JWK Caching 를 선택적으로 지원합니다. psr-6의 구현체를 JwtTokenValidator에 주입하면 캐싱 기능을 사용할 수 있습니다.

Requirements

  • PHP 7.2 or higher
  • php7.2-gmp web-token decryption 모듈을 위해서는 php7.2-gmp 를 os 내에 설치해줘야 합니다. 따라서 이 라이브러리 클라이언트들의 OS 혹은 도커 이미지 내에 꼭 설치해주시길 바랍니다. 참고 PR

Installation

composer require ridibooks/internal-auth

Usage

JwtGenerator

use Ridibooks\InternalAuth\Authorization\Generator\JwtGenerator;

$key_config = [
    '... issuer service name  ...' => [
        'kid' => '... key id ...',
        'key' => '... rsa private key ...',
    ]
];

$jwt_generator = new JwtGenerator($key_config);
$token = $jwt_generator->generate(
    '... issuer service name  ...',
    '... audience service name ...'
)

Authorizer, JwtValidator Without Caching

use Ridibooks\InternalAuth\Authorization\Validator\JwtValidator;
use Ridibooks\InternalAuth\Authorizer;

$internal_auth_token = '...';

try {
    $jwk_url = $this->configs['jwk_url'];
    $validator = new JwtValidator($jwk_url);

    $authorizer = new Authorizer($validator);
    $authorizer->authorize($internal_auth_token, [InterService.Account]);
} catch (AuthorizationException $e) {
	// handle exception
}

Authorizer, JwtValidator With Caching

use Ridibooks\InternalAuth\Authorization\Validator\JwtValidator;
use Ridibooks\InternalAuth\Authorizer;

$internal_auth_token = '...';

try {
    $jwk_url = $this->configs['jwk_url'];
    $cache_item_pool = new FilesystemAdapter(); // [psr-6](https://www.php-fig.org/psr/psr-6/) Implementation Adaptor
    $validator = new JwtValidator($jwk_url, $cache_item_pool);

    $authorizer = new Authorizer($validator);
    $authorizer->authorize($internal_auth_token, [InterService.Account]);
} catch (AuthorizationException $e) {
	// handle exception
}

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-02-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固