Java 的 OneLogin - 初学者问题

OneLogin for Java - Beginner Issues

几天前我下载了java-saml-2.0.1,希望在我的(SP)应用程序中使用它通过SAML实现SSO。我实际上不是 Java 开发人员(我是 C#),但仍然致力于此。也不太熟悉SSO/SAML,所以请原谅愚蠢的问题。

1) 如何向我的项目添加依赖项?我的 POM.xml 文件中有这个。够了吗?

<dependency>
    <groupId>com.onelogin</groupId>
    <artifactId>java-saml</artifactId>
    <version>2.0.0</version>
</dependency>

2) 我正在阅读这篇文章:Code Your Java App to Provide SSO via OneLogin。假设这适用于 java-saml-2.0.1,为什么它说我需要 /com 下的文件?我应该在我的项目中复制这些文件吗?我不引用整个包吗?

3) 查看dologin.jsp,这段代码是做什么的?

Auth auth = new Auth(request, response);
if (request.getParameter("attrs") == null) {
    auth.login();
} else {
    String x = request.getPathInfo();
    auth.login("/java-saml-tookit-jspsample/attrs.jsp");
}

它检查 request.getParameter("attrs"),但随后不使用它。 它设置字符串 x,但随后不使用它。 为什么?

4) 在设置 AccountSettings 时,我可以跳过证书并稍后再做还是总是需要它?

5) 本质上我们正在实施 this,第一步是让我的 SP 应用实施 第 2 步:(SP--> UA) 重定向到 IdP SSO 服务.因此,当用户尝试访问我的 SP 时,我需要创建一个 SAML 令牌(?)并将其发送给 IdP。我怎么做?这就是我卡住的地方。

我看了样本,但我不知道如何配置设置,所以它不起作用。

顺便说一句:IdP 是由不同部门管理的内部应用程序。

1) 如此处所述:https://mvnrepository.com/artifact/com.onelogin/java-saml/2.0.1

您需要添加: com.onelogin java-saml 2.0.1

2) 该文档很旧,属于 java-saml 的 1.X 版本。

在 java-saml 的 github 存储库中 https://github.com/onelogin/java-saml 您会找到正确的文档。

3) 该代码启动登录过程(向身份提供者发送 AuthNrequest)。

启动 Auth 对象,稍后调用登录方法进行重定向。

attrs 参数是一个获取参数,可以发送到索引视图以将自定义 RelayState 设置到 attrs.jsp 页面。

4) AccountSettings 对象属于 1.X 代码。

但在部署服务之前,您需要在设置 属性 上设置 x509cert。

5) 在 SP 发起的 SSO 流程中,SP 向 IdP 发送一个 AuthNRequest,IdP 回复一个 SAMLResponse。 (以前 IdP 和 SP 必须交换其元数据才能设置信任圈。