OneLogin for Java-初学者问题

Ana*_*d17 0 java saml onelogin

几天前,我下载了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>
Run Code Online (Sandbox Code Playgroud)

2)我正在阅读本文:对Java应用进行编码以通过OneLogin提供SSO。假设这适用于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");
}
Run Code Online (Sandbox Code Playgroud)

它检查request.getParameter(“ attrs”),但不使用它。它设置String x,但随后不使用它。为什么?

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

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

我看了一下示例,但是我不知道要配置设置,所以它不起作用。

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

sma*_*tin 5

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对象,然后调用login方法进行重定向。

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

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

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

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