ubccr/simplesamlphp-module-authglobus

SimpleSAMLphp 的 Globus 认证模块。

安装次数: 67,868

依赖者: 0

建议者: 0

安全性: 0

星标: 1

关注者: 10

分支: 2

开放性问题: 0

类型:simplesamlphp-module

1.3.0 2018-09-10 15:22 UTC

This package is auto-updated.

Last update: 2024-09-11 04:11:15 UTC


README

SimpleSAMLphp 的 Globus 认证模块

概述

这是一个 SimpleSAMLphp 的扩展,允许您通过 SimpleSAMLPHP 配置使用芝加哥大学的 Globus 项目 进行认证。它最初是为布法罗大学计算研究中心的 XDMoD 项目 设计的,但编写得足够通用和可重用。

设置

自动

如果您使用 Composer,安装模块就像这样简单

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

从头开始

首先,像往常一样 安装 SimpleSAMLphp。然后,将 modules/ 目录的内容复制到您自己的 modules 目录中。将 default-disable 重命名为 default-enable。将 config-templates/ 中的配置追加到您自己的配置文件中。

运行 Globus 认证

您首先需要在 Globus Auth 中正确 注册您的应用程序。之后,转到您的 SimpleSAML 配置,并在 authsources.php 中填写 'globus' 模块信息,如下所示

   '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'

将 Globus 认证作为外部 IDP 运行

像平常一样设置您的 SAML SP(参见我们的 LDAP 认证指南 以获得类似示例),将 'globus-idp' 作为身份提供者。创建一个自签名的 SSL 证书并将其放置在证书文件夹中。然后,您需要确保您配置 globus-idp 元数据如下

文件: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'
  );

文件: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',
    );

建议、错误修复、反馈

尽管此模块在 XDMoD 项目中使用,但它不是作为整体项目的一部分官方支持或维护的。与 XDMoD 支持相关的有关此模块的工单无法获得支持,并且可能不会得到回复。欢迎拉取请求,但鉴于其他团队优先事项,周转可能不稳定。

有关反馈、评论、请求,请联系作者/维护者,Rudra Chakraborty

有关 SimpleSAMLphp 或 Globus Auth 的特定问题,请联系这些项目的开发者,我们无法为他们提供支持。与 XDMoD 相关但与此模块无关的问题应通过官方 XDMod 支持渠道提交。