定制 ubccr/simplesamlphp-module-authglobus 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

ubccr/simplesamlphp-module-authglobus

Composer 安装命令:

composer require ubccr/simplesamlphp-module-authglobus

包简介

Globus Auth module for SimpleSAMLphp.

README 文档

README

A Globus Auth Module for SimpleSAMLphp

Overview

This is an extension for SimpleSAMLphp, enabling authenticating with the University of Chicago's Globus Project with your SimpleSAMLPHP configuration. It was designed for use by the University at Buffalo Center for Computational Research's XDMoD Project, but is written to be generic and reusable.

Setup

Automatic

If you're using Composer, installing the module is as simple as:

  'composer require ubccr/simplesamlphp-module-authglobus 1.*'

From scratch

First install SimpleSAMLphp as normal. Then copy the contents of modules/ into your own modules directory. Rename default-disable to default-enable. Append the configuration found in config-templates/ to your own config.

Running Globus Auth

You will need to first properly register your application with Globus Auth. Thereafter, head to your SimpleSAML configuration, and fill in the 'globus' module information in authsources.php as follows:

   'key': The client ID value you were provided when you registered your application,
   'secret': The client secret. As per the documentation, make sure you save this. YOU CAN ONLY SEE IT ONCE!!!
   'scope': You should have these set up within your Globus App registry.
   'response_type': This should always be set to 'code'. 
   'redirect_uri': Should always be the linkback.php file + your endpoint. A la 'https://fakeaddress.buffalo.edu/simplesaml/module.php/globus/linkback.php'

Running Globus Auth as an External IDP

Set up your SAML SP as normal (see our LDAP Authentication guide for a similar example), with 'globus-idp' as the identity provider. Create an SSL self-signed certificate and place it your certificates folder. You will then need to esnure you configure your globus-idp metadata as follows:

File: saml20-idp-hosted.php

  $metadata['globus-idp'] = array(
    /*
    * The hostname for this IdP. This makes it possible to run multiple
    * IdPs from the same configuration. '__DEFAULT__' means that this one
    * should be used by default.
    */
    'host' => '__DEFAULT__',

    /*
    * The private key and certificate to use when signing responses.
    * These are stored in the cert-directory.
    */
    'privatekey' => '[[YOUR_PRIVATE_KEY]].pem',
    'certificate' => '[[YOUR_PRIVATE_CERT]].crt',

    /*
    * The authentication source which should be used to authenticate the
    * user. This must match one of the entries in config/authsources.php.
    */
    'auth' => 'globus'
  );

File: saml20-idp-remote.php

    $metadata['globus-idp'] = array (
      'metadata-set' => 'saml20-idp-remote',
      'entityid' => 'globus-idp',
      'SingleSignOnService' =>
          array (
              0 =>
              array (
                  'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
                  'Location' => 'https://your.endpoint/simplesaml/saml2/idp/SSOService.php',
              ),
          ),
      'SingleLogoutService' =>
          array (
              0 =>
              array (
                  'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
                  'Location' => 'https://your.endpoint/simplesaml/saml2/idp/SingleLogoutService.php',
              ),
          ),
      'keys' =>
    array (
      0 =>
      array (
        'encryption' => true,
        'signing' => true,
        'type' => 'CERTTYPE',
        'CERTTYPE' => '...',
      ),
      1 =>
      array (
        'encryption' => true,
        'signing' => true,
        'type' => 'CERTTYPE',
        'CERTTYPE' => '...',
      ),
    ),
      'NameIDFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient',
    );

Suggestions, Bugfixes, Feedback

While this module is used in the XDMoD Project, it is not officially supported as part of the overarching project or maintained as such. Tickets submitted to XDMoD support pertaining to this module cannot be supported, and are likely to go unanswered. Pull requests are welcome, but turnaround might be intermittent in lieu of other team priorities.

For feedback, commentary, requests, please reach out to the author/maintainer, Rudra Chakraborty.

For questions specific to SimpleSAMLphp or Globus Auth, please contact the developers for those projects, we cannot provide support for them. Questions related to XDMoD but not to this module should be put through official XDMod support channels.

ubccr/simplesamlphp-module-authglobus 适用场景与选型建议

ubccr/simplesamlphp-module-authglobus 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 90.4k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2017 年 10 月 13 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 ubccr/simplesamlphp-module-authglobus 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ubccr/simplesamlphp-module-authglobus 我们能提供哪些服务?
定制开发 / 二次开发

基于 ubccr/simplesamlphp-module-authglobus 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

  • Stars: 1
  • Watchers: 9
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-3.0
  • 更新时间: 2017-10-13