我正在尝试弄清楚如何使用WSO2身份服务器为SSO设置我的应用程序。我的用例是我有 2 个应用程序由使用 WSO2IS 的 OAuth/OpenId Connect 保护。如果我已登录到应用程序 1,则启动应用程序 2 应该会自动登录。流程应该是什么?
目前,我已经创建了2个服务提供商,每个应用程序一个。每个服务提供者入站身份验证配置都是使用OAuth/OpenId Connect配置的。我还需要做什么?
我关注了OAuth2-OpenID Connect单点登录 https://docs.wso2.com/display/IS530/Configuring。我成功地被重定向到 IS 进行登录,每个应用程序都能够获得访问令牌和 JWT。但是,我被要求单独登录每个应用程序---当我访问应用程序 2 时没有自动登录。
谢谢!
当我登录到应用程序1时,WSO2IS输出,然后在同一浏览器和选项卡中跟随应用程序2。
[2017-07-27 21:30:17,117]DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - 验证客户端信息请求client_id:L7c7Zqf9QpDKjyEtOQ74R__RSy0a和callback_uri http://[主机名]:[8080]/xxxx/ [2017-07-27 21:30:17,124] 调试 {org.wso2.carbon.identity.oauth2.OAuth2Service} - 找到给定客户端 ID 的注册应用程序:L7c7Zqf9QpDKjyEtOQ74R__RSy0a,应用程序名称:应用程序 1,回调 URL : http://[主机名]:[8080]/xxxx/ [2017-07-27 21:30:30,506] 调试 {org.wso2.carbon.identity.oauth2.OAuth2Service} - 收到的用户授权请求:testuser@carbon.super,客户端 ID :L7c7Zqf9QpDKjyEtOQ74R__RSy0a,授权响应类型:代码,请求的回调 URI : http://[主机名]:[8080]/xxxx/,请求的范围:电子邮件 openid 配置文件 [2017-07-27 21:30:30,507] 调试 {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - 添加了 OAuthAuthzReqMessageContext 到 threadlocal [2017-07-27 21:30:30,508] DEBUG {org.wso2.carbon.identity.oauth2.auth2.authz.处理器。代码响应类型处理程序} - 向用户颁发授权代码:testuser@carbon.super,使用重定向网址:http://[主机名]:[8080]/xxxx/,范围:电子邮件openid配置文件,有效期:300000 [2017-07-27 21:30:30,510] 调试 {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - 清除OAuthAuthzReqMessageContext [2017-07-27 21:30:30,756] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - 收到客户端 ID L7c7Zqf9QpDKjyEtOQ74R__RSy0a、用户 ID 空、范围 : [] 的访问令牌请求 和授权类型:authorization_code [2017-07-27 21:30:30,756] 调试 {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} - 可以使用客户端 ID 和密钥进行身份验证。客户端 ID: L7c7Zqf9QpDKjyEtOQ74R__RSy0a [2017-07-27 21:30:30,756] 调试 {org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler} - 授权类型 : authorization_code 严格的客户端验证设置为:null [2017-07-27 21:30:30,757] 调试 {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - 客户端凭据已从数据库中获取。[2017-07-27 21:30:30,757]DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - 已成功使用客户端 ID 对客户端进行身份验证:L7c7Zqf9QpDKjyEtOQ74R__RSy0a [2017-07-27 21:30:30,757] 调试 {org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler} - 客户端 ID 的缓存中没有授权代码信息:L7c7Zqf9QpDKjyEtOQ74R__RSy0a [2017-07-27 21:30:30,758] 调试 {org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler} - 找到一个授权代码,客户端:L7c7Zqf9QpDKjyEtOQ74R__RSy0a,授权用户:testuser@carbon.super,范围:电子邮件OpenID配置文件 [2017-07-27 21:30:30,758] 调试 {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - 添加了 OAuthTokenReqMessageContext 到 threadlocal [2017-07-27 21:30:30,759] 调试 {org.wso2.carbon.identity.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler} - 在缓存中找到无限生存期访问令牌 c6d1b10e-cd51-379a-9162-4f5228aaa5dc [2017-07-2721:30:30,759] 调试 {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - 清除OAuthTokenReqMessageContext [2017-07-27 21:30:30,759] 调试 {org.wso2.carbon.identity.oauth2.token.AccessTokenIssuer} - 颁发给客户端 ID 的访问令牌:L7c7Zqf9QpDKjyEtOQ74R__RSy0a用户名:testuser@carbon.super,范围:电子邮件 OpenID 配置文件
〔2017-07-27 21:30:42014〕DEBUG{org.wso2.carbon.identity.oauth2.OAuth2Service}-验证Client_id的客户端信息请求:fwM8a593OUxufW2ZaBXYx9f1mREa和callback_uri http://[主机名]:[8090]/xxxx/[2017-07-27 21:3:42016〕DEBUG{org.wso2.ccarbon.identy.oauth2.OAuth2Services}-找到给定客户端id的注册应用程序mREa,应用程序名称:Application2,回调URL:http://[主机名]:[8090]/xxxx/[2017-07-27 21:30:55454]DEBUG{org.wso2.carbon.identity.oauth2.OAuth2Service}-收到用户的授权请求:testuser@carbon.super,客户端ID:fwM8a593OUxufW2ZaBXYx9f1mREa,授权响应类型:代码,请求的回调URI:http://[主机名]:[8090]/xxxx/,请求的范围:email openid profile[2017-07-27 21:30:55455]DEBUG{org.wso2.carbon.identity.oauth2.util.OAuth2Util}-将OAuthAuthzReqMessageContext添加到threadlocal[2017-07-27 21:30:5457]DEBUG{org.wso2.ccarbon.ideentity.oath2.authz.handers.CodeResponseTypeHandler}-向用户颁发授权代码:testuser@carbon.super,使用重定向url:http://[主机名]:[8090]/xxxx/,范围:电子邮件openid配置文件,有效期:300000[2017-07-27 21:30:55458]DEBUG{org.wso2.carbon.identity.oauth2.util.OAuth2Util}-已清除OAuthAuthzReqMessageContext〔2017-07-27 21:35:55739〕DEBUG{org.wso2.carbon.identy.oauth2.OAuth2Service}-收到客户端ID fwM8a593OUxufW2ZaBXYx9f1mREa的访问令牌请求,用户ID为空,作用域:[],授权类型:authorization_code[2017-07-27 21:30:55739]DEBUG{org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler}-可以使用客户端ID和Secret进行身份验证。客户端ID:fwM8a593OUxufW2ZaBXYx9f1mREa[2017-07-27 21:30:55739]DEBUG{org.wso2.carbon.identity.oauth2.token.handlers.clientauth.AbstractClientAuthHandler}-授权类型:authorization_code严格的客户端验证设置为:null[2017-06-27 21:35:55739]DEBUG{org.wso2.carbon.ident.oauth2.util.OAuth2Util}-从数据库获取客户端凭据。〔2017-07-27 21:30:55739〕DEBUG{org.wso2.carbon.identity.oauth2.util.OAuth2Util}-成功通过客户端身份验证,客户端id为:fwM8a593OUxufW2ZaBXYx9f1mREa〔2017-03-27 21:55739】DEBUG{org.wso2.carbon.identy.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler}-缓存中没有客户端id为fwMha593OUXufW2 ZaBxyx9f1m REa的授权代码信息〔2017-07-27 21:30:55739〕DEBUG{org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler}-找到授权代码,客户端:fwM8a593OUxufW2ZaBXYx9f1mREa,授权用户:testuser@carbon.super,作用域:email openid profile[2017-07-27 21:30:55740]DEBUG{org.wso2.carbon.identity.oauth2.util.OAuth2Util}-将OAuthTokenReqMessageContext添加到threadlocal〔2017-07-27 21:35:55740〕DEBUG{org.wso2.carbon.identy.oauth2.token.handlers.grant.AbstractAuthorizationGrantHandler}-在缓存中找到无限期访问令牌a01c94d9-c889-3a38-a67e-38a7f0350aa0DEBUG{org.wso2.carbon.identity.oauth2.util.OAuth2Util}-已清除OAuthTokenReqMessageContext〔2017-07-27 21:30:55740〕DEBUG}org.owso2.carb.identity.oauth2.令牌.AccessTokenIssuer}-颁发给客户端Id:fwM8a593OUxufW2ZaBXYx9f1mREa用户名的访问令牌:testuser@carbon.super和范围:电子邮件openid配置文件
下一步是设置您的客户端应用程序,该应用程序将尝试使用OpenID Connect向WSO2验证用户身份。遵循以下步骤:
https://docs.wso2.com/display/IS530/OpenIDConnect
完成后,创建应用程序的副本并在不同的端口上运行并使用 SSO 和 SLO。一个例子是这样的:
https://docs.wso2.com/display/IS530/Configuring OpenID连接单一注销
通过阅读Enabling authentic ation Session Persistence,您可以了解WSO2如何维护SSO会话的机制。
我试图使用这个库(express-openid-connect)为身份验证后端提供“简单的设置”,但在从调用对象时,我遇到了一个简单的错误: 当然,我得到了这个错误: 没有重载匹配此调用。 重载4中的1“(Path:PathParams,...Handlers:RequestHandler []):Express”,出现以下错误。 类型“(req:OIDRequest,res:express.re
题目中的问题相当简单。internet上的所有教程都讨论了OpenID Connect在。NET核心中的实现。我目前的项目是在ASP.NET MVC(不是ASP.NET核心)中开发的,我需要在其中实现OpenID Connect。 我跟踪这个帖子,并试图,但没有运气! 任何关于这方面的帮助/澄清将不胜感激。
使用OpenAM OpenID连接代理,我创建了一个名为Test-Client的OAuth 2.0/OpenID连接客户端,其作用域为openid。 我的OpenAM实例部署在Tomcat 7上,我调整了/etc/hosts文件,将localhost显示为OpenAM。实例通用域名格式。 使用默认凭据,我可以使用以下方式检索OpenID Connect id令牌: 然后,如果我的承载令牌仍然有效,
我不确定在实施过程中应该采取哪种方法,需要一些指导。 我在Yii2框架(PHP)中构建了一个RESTAPI(API.mysite.com),用于访问mysite中的数据。com(数据库)。在mysite上。com我们的用户将能够创建连接的应用程序,该应用程序将提供客户端id机密-授予对其帐户的访问权限(全范围?)。 根据我的研究,下一步似乎是设置一些东西来实际提供传递给api的承载令牌-我一直倾向
我一直在广泛阅读有关OAuth和OpenID Connect的内容,但此问题专门涉及OAuth2资源所有者密码授予(又名OAuth2资源所有者凭据授予,又名OAuth2密码授予) 某些资源(例如Justin Richer的《OAuth2 in Action》一书)说不要使用OAuth2资源所有者密码授予进行身份验证-请参阅书中的第6.1.3节。 以下其他好资源都说我们可以使用OAuth2资源所有者
我有一个服务提供商的应用程序。是否可以使用OpenID Connect实现由Idp启动的SSO 对于Idp启动的SSO,似乎只能使用SAML,对吗?或者有没有办法让OpenID连接也能正常工作?我正在考虑使用一些开源工具,比如KeyClope或OneLogin toolkit等。。 非常感谢。