标签: single-sign-on

如何在java中使用Windows凭据自动登录?

我想在我的应用程序中自动验证登录到其窗口的“活动目录用户”。简而言之,我希望使用 Windows 凭据对我的应用程序进行 SSO。**客户端是 React,后端是 Java 8 和 Spring 4.1.2,Spring Security 是 3.2.5。

我已经使用 spring LDAP 3.2.5 在我的应用程序中验证并搜索“活动目录用户”。但用户在使用浏览器时应提交用户名和密码。

我读过有关“集成 Windows 身份验证”(IWA)、“Kerberos”、“NTLM”的内容。我应该使用 NTLM 而不是 LDAP 吗???或者,我应该使用 Kerberos ???或者,我应该使用 ADFS ???

我应该在活动目录中配置任何内容吗???**我无法在活动目录中配置任何内容

我应该以编程方式在 React 中获取 Windows 凭据并将其发送到服务器,然后从服务器我应该将该凭据发送到 Active Directory 来验证它吗???

我不知道,但是,我应该在“HTTP 响应”中对“HTTP 选项请求”说些什么来强制浏览器在下一个请求中设置 Windows 凭据吗?

谢谢您的宝贵时间。

java spring active-directory single-sign-on reactjs

3
推荐指数
1
解决办法
5251
查看次数

Keycloak 用户邀请电子邮件

我在 Django 项目中使用 Keycloak-9.0.2 作为 SSO。我想由一个用户向另一用户发送电子邮件中的邀请链接。Keycloak 中是否有相同的内置功能?如果不是,那么在 Django 中执行此操作的更好方法应该是什么。

python authentication django single-sign-on keycloak

3
推荐指数
1
解决办法
4592
查看次数

使用 SSO(例如 Keycloak),如何处理/同步自己数据库中的用户?

考虑以下场景:您有一个 SSO 服务(比方说 Keycloak)和 X 应用程序,它们有自己的数据库,在每个数据库的某个位置,您引用一个user_id. 这要怎么处理呢?如何解决外部约束问题?是否应该同步 Keycloak 和应用程序?如何?有哪些最佳实践?有哪些经验?

synchronization single-sign-on keycloak

3
推荐指数
1
解决办法
1542
查看次数

如何在Kerberos SSO登录失败时设置apache重定向或自定义401文档

我有一个工作的Kerberos SSO设置,我使用apache和jboss与mod_jk.Apache正在使用以下配置保护(通过kerberos)auto-login.htm页面:

<Location /auto-login.htm>  
AuthType           Kerberos  
AuthName           "Kerberos Active Directory Login"  
KrbMethodNegotiate on  
KrbMethodK5Passwd  on  
KrbAuthRealms      KRB.SOMEDOMAIN.COM  
KrbServiceName     HTTP/server.somedomain.com@KRB.SOMEDOMAIN.COM  
Krb5Keytab         /etc/krb/krb5.keytab  
KrbVerifyKDC       on  
KrbAuthoritative   on  
require            valid-user  
#ErrorDocument 401  /login.htm  
</Location>
Run Code Online (Sandbox Code Playgroud)

这100%工作,我能够使用Kerberos/SSO登录并在我的java应用程序中读取remote_user变量.

现在的问题是,如果用户无法通过Kerberos/SSO登录,我想重定向到不受保护的login.htm.我想到的解决方案是设置401 ErrorDocument,但是当我通过在上面的代码中取消注释#ErrorDocument 401来设置它时,它总是重定向到login.htm,因为返回401以请求用户凭据本身就是Kerberos的一部分/ SSO身份验证过程.因此,结果是用户总是以login.htm结束,并且永远不会完成Kerberos/SSO登录过程.

任何帮助或替代解决方案将不胜感激.

在此先感谢
皮埃尔

apache jboss kerberos single-sign-on http-status-code-401

2
推荐指数
1
解决办法
2603
查看次数

从Java Servlet模拟用户

给定一个通过ProcessBuilder创建新进程的Java Servlet(在Windows服务器上运行),我有什么选择让新进程作为调用servlet的原始Web请求的用户运行?

澄清一下,我想要的是类似的东西

ProcessBuilder pb = new ProcessBuilder("whoami");
Process p = pb.start();
// p.getOutputStream() should contain the name of the remote user,
// not the user running the app server
Run Code Online (Sandbox Code Playgroud)

真正的目标是执行一些安全检查(例如,查看用户是否能够打开文件,或在内部企业系统中查看此类记录).

很明显,用户需要通过应用程序服务器或java代码以某种方式进行身份验证 - 理想情况下我希望以某种方式使用单点登录(即没有用户输入密码),这很好如果解决方案仅适用于已登录到域的Windows客户端(如果不是限制,则更好).我目前正在使用Jetty作为应用服务器,但如果有必要,切换到其他东西肯定是一个可行的选择.

(如果它有助于澄清,我基本上希望替换当前使用IIS的模拟功能的CGI脚本在发出请求的用户的上下文中运行)

java windows iis single-sign-on

2
推荐指数
1
解决办法
4362
查看次数

在Facebook IOS SDK中禁用单点登录(SSO)

我们已经构建了一个使用Facebook SDK的iOS应用程序.不幸的是,我们的客户要求我们在应用程序中禁用后台处理,这意味着Facebook单点登录(SSO)方案对我们不起作用(因为我们的应用程序现在在登录/授权后启动时从头开始在Facebook应用程序).

所以问题是:我们可以在Facebook iOS SDK中禁用SSO,使其行为与旧的SDK版本中的行为一样,Facebook登录/授权在应用程序内的Web视图中发生吗?

single-sign-on ios facebook-ios-sdk

2
推荐指数
1
解决办法
4600
查看次数

在iOS5中反向Auth和Twitter SSO

我正试图在我的iOS5应用程序中实现Twitter SSO,并看到Twitter有一个名为Reverse Auth的东西.如果这是正确的方法,有人可以解释一下.Reverse Auth基本上是从iOS5应用程序获取访问令牌并将其传递给应用程序服务器吗?

twitter oauth single-sign-on ios5

2
推荐指数
1
解决办法
2501
查看次数

使用SAML在单次注销中终止会话

假设我们有一位用户正在使用三种不同的服务Single sign-on.单击"注销"时,可以识别并终止具有当前Sp的会话.

在此,有责任IdP将用户从其他两个服务中注销.我的问题是如何获得和终止与其余两项服务的会议?

session logout single-sign-on saml-2.0

2
推荐指数
1
解决办法
9558
查看次数

CAS服务上的javax.net.ssl.SSLHandshakeException

简短的故事,我的老板想要为我们制作的许多应用程序使用单一登录,我尝试CAS来满足这种需求.

我正在尝试安装CAS作为我的SSO.我从java bin中的keytool生成jks文件.登录和注销工作正常,直到我想尝试添加一些服务.

https://localhost:8443/cas/services/j_acegi_cas_security_check?ticket=ST-2-Ts4EoUqKfeGOGGi1XbXq-cas01.example.org
Run Code Online (Sandbox Code Playgroud)

此错误将出现:

java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching localhost found
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:341)
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
Run Code Online (Sandbox Code Playgroud)

所以我谷歌尝试这件事但仍然失败:

首先我运行此命令并成功:

keytool -genkey -alias localhost -keyalg RSA -keystore C:\Users\User\Documents\keystore.jks -keysize 2048
keytool -certreq -alias localhost -keystore C:\Users\User\Documents\keystore.jks -file C:\Users\User\Documents\localhost.csr
Run Code Online (Sandbox Code Playgroud)

将jks文件导入java

keytool -import -trustcacerts -alias localhost -keystore "C:/Program Files/Java/jdk1.7.0/bin/jre/lib/security/cacerts" -file "D:\apache tomcat 6\bin\keystore.jks"
Run Code Online (Sandbox Code Playgroud)

但是出现了一个错误:

keytool error: java.lang.Exception: Input not an X.509 certificate
Run Code Online (Sandbox Code Playgroud)

也尝试生成x509文件

openssl x509 -in "C:\Users\User\Documents\localhost.csr" -out "C:\Users\User\Documents\localhost.der" -outform DER
Run Code Online (Sandbox Code Playgroud)

但是这个错误出来了:

unable to load certificate
24516:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_li
b.c:696:Expecting: TRUSTED CERTIFICATE …
Run Code Online (Sandbox Code Playgroud)

java ssl https cas single-sign-on

2
推荐指数
1
解决办法
6922
查看次数

SAML2 SSO:AuthnContext类架构:"PasswordProtectedTransport"vs"未指定"

背景:我公司作为IDP的客户担任服务提供商.我们使用OpenAM,但我们的客户使用ADFS或Shibboleth.我们交换元数据文件以建立联合,而不是URL.客户问我们为什么需要AuthnContext类模式(特别是PasswordProtectedTransport),不仅我们不知道为什么,我们不知道如何更改它或者意味着什么.

问题:在SAML2断言中对AuthnContextClassRef使用"PasswordProtectedTransport"与"unspecified"之间的功能区别是什么?

我们目前在所有客户中使用PasswordProtectedTransport,但我公司没有人能告诉我为什么要求这样做.如果我们删除它,联合会停止使用SAM错误和SAML跟踪中的"NoAuthnContext".我们也不明白这一点,因为我从saml文档中了解到,具有模式的模式对于身份验证是可选的.即便如此,我也没有看到任何使用"未指明"的含义的解释.

我无法在任何地方找到关于这个主题的任何详尽的解释或讨论,并希望有人可以为我详细说明,因为我正在努力寻找这个问题.

metadata saml single-sign-on saml-2.0

2
推荐指数
1
解决办法
4362
查看次数