nzta/silverstripe-okta

此包已被废弃且不再维护。没有建议的替代包。

Okta 集成模块

安装: 685

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 4

分支: 5

类型:silverstripe-vendormodule

2.1.0 2022-11-28 22:24 UTC

This package is auto-updated.

Last update: 2024-04-09 06:34:25 UTC


README

Okta 提供安全身份管理和单点登录服务,适用于云端、本地或移动设备上的每位员工。

要求

SilverStripe 4.x

版本信息

此模块的主分支目前旨在与 SilverStripe 4.x 兼容

配置

您需要为单次登录和单次登出设置 SAML 断言的签名证书。

开发时,可以使用此辅助工具生成自签名证书: https://developers.onelogin.com/saml/online-tools/x509-certs/obtain-self-signed-certs

这些证书可以使用您喜欢的任何名称定义,并可以存储在服务器上的任何位置。您还需要将证书上传到您的 Okta 应用程序。

然后,您需要在您的 .env 文件中添加以下环境变量

变量 示例值 说明
SS_OKTA_SP_ISSUER https://yourdomain.co.nz 您的应用程序域名
SS_OKTA_SP_LOGOUT_URL https://yourdomain.co.nz/okta/slo -
SS_OKTA_SP_X509 '/var/www/certs/org-sp.crt' 示例 SLO 生成证书的路径
SS_OKTA_SP_PEM '/var/www/certs/org-sp.pem' 示例 SLO 证书的私钥生成路径
SS_OKTA_IDP_X509CERT '/var/www/certs/org-idp.crt' 从 Okta 下载此证书
SS_OKTA_IDP_ISSUER http://okta.com/XYZ123 -
SS_OKTA_IDP_LOGIN_URL https://org.okta.com/app/appname/XYZ123/sso/saml -
SS_OKTA_IDP_LOGOUT_URL https://org.okta.com/app/appname/XYZ123/slo/saml -
SS_OKTA_IP_WHITELIST 127.0.0.1,192.168.0.10 通过添加您的 IP 地址来绕过 Okta 登录进行开发

您可以从 Okta 获取 SS_OKTA_IDP_X509CERT、SS_OKTA_IDP_ISSUER、SS_OKTA_IDP_LOGIN_URL 和 SS_OKTA_IDP_LOGOUT_URL 信息,例如 https://{org}.okta.com/app/{appname}/{XYZ123}/setup/help/SAML_2_0/instructions

在哪里

org: 组织名称 appname: Okta 定义的应用程序名称 XYZ123: Okta 定义的随机应用程序 ID

或者

  1. 登录到您的 okta 账户
  2. 点击管理员按钮
  3. 点击应用程序菜单中的应用程序
  4. 从应用程序列表中点击您的应用程序
  5. 点击“登录”选项卡
  6. 点击“查看设置介绍”按钮

您将看到证书的详细信息和下载选项。

在 Okta 中设置 SAML 设置

  1. 登录到您的 Okta 账户,并遵循最后一步进入您的应用程序
  2. 点击“常规”选项卡
  3. 点击 SAML 设置中的“编辑”按钮
  4. 点击“下一步”
  5. 点击“显示高级设置”

更新以下设置

字段
单点登录 URL https://yourdomian.co.nz/okta/sso
受众 URI (SP 实体 ID) https://yourdomain.co.nz
名称 ID 格式 未指定
应用程序用户名 电子邮件
响应 签名
断言签名 签名
签名算法 RSA-SHA256
摘要算法 SHA256
断言加密 未加密
密钥传输算法 RSA-OAEP

设置属性声明

名称
FirstName user.firstName
Surname user.lastname
电子邮件 user.email
登录 user.login
SID user.uniqueID

在okta中分配人员/账号

登录到您的okta账号,并按照最后一步进入您的应用程序,然后从人员部分添加人员/账号以获得应用程序的访问权限。

安装

为了使此模块工作,您需要将onelogin/php-saml模块导入到当前项目中。您可以通过将以下内容添加到您的composer.json文件中来实现

    "require": {
        "onelogin/php-saml": "dev-sign-logout-request"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "git@github.com:micmania1/php-saml.git"
        }
    ]

原始的onelogin/php-saml模块在注销时最初引起了一些问题。因此,这个分支的目的在于解决原始模块引起的问题,并确保不会出现进一步的问题。

最后,运行composer install