标签: openam

SP发起的SSO和IDP发起的SSO之间的差异

任何人都可以向我解释SP发起的SSOIDP发起的SSO之间的主要区别是什么,包括哪个是与ADFS + OpenAM Federation一起实现单点登录的更好解决方案?

single-sign-on adfs2.0 openam

99
推荐指数
3
解决办法
16万
查看次数

AdminTokenAction:致命错误:无法获取应用程序SSO令牌

我试图用apache tomcat代理安装openam 12 war,如配置sso.But尝试了五十多次,但我只得到错误.

如果我将以下属性值更改为来自webagent的amAdmin,则在tomcat第二个实例中调用受保护的应用程序时,它会一次又一次地重定向到同一页面,但没有得到任何异常.amAdmin是我的openam控制台的管理员用户.

OpenSSOAgentBootstrap.properties/com.sun.identity.agents.app.username =
Run Code Online (Sandbox Code Playgroud)

Tomcat日志中的异常

Apr 16, 2015 5:41:10 PM org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw error
java.lang.ExceptionInInitializerError
    at com.sun.identity.agents.arch.AgentConfiguration.bootStrapClientConfiguration(AgentConfiguration.java:727)
    at com.sun.identity.agents.arch.AgentConfiguration.initializeConfiguration(AgentConfiguration.java:1140)
    at com.sun.identity.agents.arch.AgentConfiguration.<clinit>(AgentConfiguration.java:1579)
    at com.sun.identity.agents.arch.Manager.<clinit>(Manager.java:675)
    at com.sun.identity.agents.tomcat.v6.AmTomcatRealm.<clinit>(AmTomcatRealm.java:67)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:374)
    at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:145)
    at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1288)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
    at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1342)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2770)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:615)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) …
Run Code Online (Sandbox Code Playgroud)

java single-sign-on openam

69
推荐指数
1
解决办法
6275
查看次数

OpenSSO/OpenAM替代方案

警告!我在这里有点钓鱼之旅,我甚至不确定我问的问题是否完全有意义.请善意回复你!:)

我最近接手了一个目前基于Java + Linux + Tomcat + MySQL的项目.现在,该系统基本上只是一个在后台有一些cron工作的网站,可以移动一些数据等等.在与产品经理合作开发优先顺序时,很清楚他想做什么我需要开始开发面向服务的体系结构(SOA < - buzz word warning!),最终我将结合使用Web服务器和应用程序服务器.注意:我正在考虑转向Glassfish v3.

目前,身份验证和授权在Java代码中处理,用户信息存储在MySQL数据库中.至少在我看来,我需要将其拆分为一个单独的身份验证服务(否则,最终将会出现一堆重复的代码来处理用户身份验证和授权).

我一直在研究单点登录(SSO)类型解决方案并进行一些研究.从我可以收集的信息来看,OpenSSO已被Oracle正式删除,但被ForgeRock收录,现在被称为OpenAM.这似乎非常接近我想要的,但由于我已经有一个基于MySQL的系统,我宁愿有一些东西支持它(或其他一些RDBMS).我在Stack Overflow上找到了它,它似乎表明它基本上是LDAP或什么也没有.

有没有办法让OpenSSO/OpenAM与数据库通信以进行身份​​验证和授权?

我的问题是:

OpenSSO/OpenAM有哪些其他选择?LDAP是否可行?注意:执行"OpenAM vs"谷歌搜索不会产生太多影响.人们倾向于"自己动手"吗?

任何有助于教育我的关于此主题的想法/建议/链接将不胜感激.提前感谢您的耐心和帮助.

java soa opensso glassfish-3 openam

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

尝试解码 Jwt 时发生错误:签名 JWT 被拒绝:需要另一种算法,或找不到匹配的密钥

我正在尝试使用与 Spring Security 集成的 ForgeRock OpenAM 设置 OAuth2-OpenID Connect,但收到以下错误

2019-06-17 15:01:42.576 DEBUG 62255 --- [nio-8090-exec-2] .o.s.r.w.BearerTokenAuthenticationFilter : 
Authentication request for failed: org.springframework.security.oauth2.core.OAuth2AuthenticationException: 
An error occurred while attempting to decode the Jwt: 
Signed JWT rejected: Another algorithm expected, or no matching key(s) found
Run Code Online (Sandbox Code Playgroud)

Jwk .wellknown uri 返回以下支持的算法:

"id_token_signing_alg_values_supported": [
    "PS384",
    "ES384",
    "RS384",
    "HS256",
    "HS512",
    "ES256",
    "RS256",
    "HS384",
    "ES512",
    "PS256",
    "PS512",
    "RS512"
  ]
Run Code Online (Sandbox Code Playgroud)

解码后的 JWT 显示以下标头:

{
  "typ": "JWT",
  "zip": "NONE",
  "alg": "HS256"
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以根据来自标头的值设置特定的 JwtDecoder 或强制 AM 使用一种特定算法?

spring-security openam spring-oauth2 forgerock

13
推荐指数
2
解决办法
6万
查看次数

forgerock身份管理解决方案与WSO2身份服务器

我正在尝试选择forgerock身份管理解决方案(openAM,openIDM)和wso2身份服务器之一来实现身份和访问管理解决方案.

我有兴趣使用以下功能:

  • 单点登录(SSO)
  • 基于策略的访问控制
  • 管理用户身份
  • 连接到中央存储库,如Active Directory,OpenLdap,Oracle Internet Directory等.
  • 等等..

两种开源产品都看起来很可行.我有兴趣拥有上述所有功能以及良好的API来实现这些功能,以及积极的社区支持.

哪一个是两个中最好的?

谢谢.

wso2 identity-management federated-identity openam openidm

9
推荐指数
2
解决办法
8416
查看次数

如何在我现有的Web应用程序中实现openAM SSO

我尝试使用OpenAM通过以下链接在我现有的Web应用程序中实现SSO

http://fczaja.blogspot.com/2012/06/idp-initiated-sso-and-identity_21.html

PS.我的Web应用程序已经拥有自己的登录页面

现在实现后得到的是,openAM登录页面在我的Web应用程序中受到保护,我需要再次登录我的应用程序

我需要的是,想跳过我的应用程序的登录页面成为单点登录.

那么,谁能告诉我我需要做什么任务呢?我是否需要修改我的应用程序的登录页面?我是否需要任何数据库或数据存储来保存用户登录信息?

single-sign-on saml-2.0 openam

7
推荐指数
1
解决办法
1万
查看次数

Spring安全SAML OpenAM

我正在尝试使用带有angular2的前端和带有弹簧引导的REST后端来开发Web应用程序.

我需要管理3种类型的身份验证: - 基本登录/密码匹配数据库 - ldap authentification - sso authentification

用户通过身份验证后,后端会生成JWT并发送到前端.所有请求必须在标头中包含jwt以与REST通信.

这时我的websecurity配置是:

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableTransactionManagement
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    private static final String LDAP_AUTHENTIFICATION = "ldap";
    private static final String SSO_AUTHENTIFICATION = "sso";

    @Autowired
    private DataBaseAuthentificationProvider authProvider;

    @Value("${ldap.provider.url}")
    private String ldapProviderUrl;

    @Value("${ldap.user.dn.patterns}")
    private String userDnPatterns;

    @Value("${authentification.type}")
    private String authentificationType;

    public WebSecurityConfiguration() {
        /*
         * Ignores the default configuration, useless in our case (session
         * management, etc..)
         */
        super(true);
    }

    /**
     * Configure AuthenticationManagerBuilder to use …
Run Code Online (Sandbox Code Playgroud)

java spring-security single-sign-on openam

7
推荐指数
1
解决办法
536
查看次数

是OpenDJ,OpenAM和OpenIAM免费软件

已经使用OpenDJ和OpenAM的人们的经验是什么?旧版本似乎可以免费使用,但新版本似乎没有免费使用.它们与现有的商业产品相比如何?它们看起来比使用带有CAS的OpenLDAP更好,但看起来并不自由.

cas openldap openam opendj

6
推荐指数
1
解决办法
8175
查看次数

OpenDS,OpenDJ和OpenAM有什么区别?

请解释OpenDS OpenDJ OpenAM时使用的内容.谢谢.

ldap openam opendj

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

是否可以在不使用登录屏幕的情况下对 Keycloak 的身份提供商 (OpenAM) 进行身份验证?

请注意,我对我提到的应用程序很陌生,因此我可能会错误地使用术语。我添加了一些图表来尽可能地解释自己。

我正在尝试在 APIMAN 中设置 Web 服务身份验证策略(内部使用 Keycloak)

到目前为止,我知道我在 Keycloak 中创建的身份提供程序 (OpenAM) 已正确配置,因为它正在登录页面上运行(参见下图 1) 图1

我还通过 Keycloak 的 OpenID API 成功使用 access_token 来访问 Web 服务;但前提是用户凭证位于 Keycloak 中(与 OpenAM 相反)(参见图 2) 图2

我想要实现的是通过 Keycloak 但使用身份提供者的凭据来验证此 Web 服务客户端,但我不知道如何执行此操作,也不知道是否可能。(见图3) 图3

请注意,我还尝试了使用 OpenAM 背后的 LDAP 进行用户联合,它工作正常,但我想知道是否有办法通过 OpenAM 实现这一点。

authentication openam openid-connect keycloak apiman

5
推荐指数
1
解决办法
3498
查看次数