标签: openid-connect

openid, oauth1.0, oauth1.0a ,oauth2.0 和 open id connect 有什么区别?

请告诉我这些第三方身份验证之间的区别,即 open id、o-auth1.0、o-auth1.0a 、o-auth2.0 和 open id connect。好吧,我用谷歌搜索了这个,但无法找到所有这些之间的确切区别。我一直在 o-auth 和 open id 之间有所不同,但不是所有这些都在一起。

任何参考或任何解释将不胜感激。提前致谢。

openid oauth oauth-2.0 openid-connect

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

在OAuth 2中使用response_type =“ code token”吗?

OpenID Connect Spec OAuth 2.0多种响应类型编码实践规定可以组合多个response_type,例如response_type="code token"。现在,我想知道请求授权码令牌有什么好处。如果您已经拥有令牌,验证码就不是多余的吗?

oauth oauth-2.0 openid-connect

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

同时使用app.UseOpenIdConnectAuthentication时不使用CookieAuthenticationOptions.LoginPath值

我正在使用OWIN中间件进行Cookie身份验证和openIdConnect。在向cookie身份验证选项的启动身份验证代码中添加openIdConnect身份验证之前,LoginPath被用作重定向未经身份验证的用户的目标。这确实很好,并且是我想保留的功能。

但是,当我将app.UseOpenIdConnectAuthentication添加到我的项目时,它开始自动将未经身份验证的用户重定向到我的OpenIdConnect授权(https://login.windows.net/)。

有没有一种方法可以禁用OpenIdConnectAuthentication设置未经身份验证的用户的重定向路径,并依靠LoginPath设置Cookie身份验证?我目前的解决方法是在我的authorize属性中手动设置重定向路径,但是我想让OWIN中间件在可能的情况下进行处理。

谢谢。

码:

public void ConfigureAuth(IAppBuilder app)
    {
        // Enable the application to use a cookie to store information for the signed in user
        // and to use a cookie to temporarily store information about a user logging in with a third party login provider
        var cookieOptions = new CookieAuthenticationOptions();
        cookieOptions.AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie;
        cookieOptions.LoginPath = new PathString("/Account/Login");

        app.SetDefaultSignInAsAuthenticationType(cookieOptions.AuthenticationType);

        app.UseCookieAuthentication(cookieOptions);

        app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
        {
            AuthenticationType = FranchiseAuthType,
            ClientId = franchiseClientId,
            Authority = FranchiseAuthority,
            PostLogoutRedirectUri = postLogoutRedirectUri,
        });
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc owin azure-active-directory openid-connect

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

OpenID连接会话管理 - 可以撤销ID令牌吗?

在OpenID Connect中,ID令牌是加密签名的自包含令牌,允许资源所有者在不调用授权服务器的情况下授权访问.因此,如果授权服务器不需要验证令牌,那么如何在会话管理场景中撤销它?似乎唯一可以撤销的是刷新令牌,此时ID令牌将过期,用户必须重新进行身份验证.它是否正确?此外,OpenID Connect Provider/Server在交付令牌时是否有意义存储令牌?

access-token jwt openid-connect

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

与多个客户端的 OpenID 共享 ID 令牌

我有几个使用 openid 连接授权代码流的 Web 应用程序客户端,每个应用程序都有不同的客户端密钥和密钥。我想与我所有的网络应用程序共享 ID 令牌,换句话说,创建一个会话,以便使用浏览器的用户可以使用任何网络应用程序而无需再次进行身份验证。

我计划将构成会话一部分的所有 Web 应用程序的客户端 ID 添加到 aud(受众)中。

这有什么问题吗?

每个 Web 应用程序都可以使用 id 令牌请求访问令牌吗?

oauth-2.0 openid-connect identityserver3

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

WSO2 IS:OpenID Connect 5.2.0中的自定义声明?

我已安装WSO2 IS 5.2.0,我有问题检索自定义创建的声明.

我已经为方言http://wso2.org/claims添加了新的声明,我还添加了新的声明,将相同的属性映射到与5.1.0版一起使用的方言http://wso2.org/oidc/claim但是在版本5.2.0无法正常工作.

所有字段都存在于数据库属性表中.我正在使用Oauth2 OpenID连接userInfo来获取用户数据.

以下是我的服务提供商的声明配置: 在此输入图像描述

通过5.1.0中的这个配置,我从图像中获得了所有请求的声明,但是在5.2.0中,我只获得了非自定义的声明 - 默认情况下已经存在于两种方言中.

claims-based-identity wso2is openid-connect

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

keycloak中的单点退出原则

我正在探索我的项目SSO解决方案的keycloak,我正在尝试这个博客上的open-connect https://developers.redhat.com/blog/2017/05/25/easily-secure-your-spring-boot-applications -with-keycloak /

我想提出一个关于Single Sign Out的问题,我想知道背后的原理是什么.试图搜索在线文档,但我没有找到任何线索.有一段时间,我认为在oauth2世界中单点登出没有优雅的解决方案.

single-sign-on oauth-2.0 openid-connect keycloak

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

ASOS-当具有单独的授权服务器和资源服务器时,令牌验证不起作用

我试图通过此帖子用ASOS强加OpenID Connect服务器(资源所有者密码凭据授予)。当我在一个应用程序中同时拥有授权服务器和资源服务器时,一切工作正常。但是,当我在两个应用程序(但在一台机器上)上拆分它们时,资源服务器无法验证令牌并返回访问令牌无效

我下载了的源代码AspNet.Security.OAuth.Validation以调查此问题,并在此处返回null

以下是来自授权服务器的一些日志:

    信息:Microsoft.AspNetCore.Hosting.Internal.WebHost [1]
          请求启动HTTP / 1.1 POST http:// localhost:5000 / connect / token application / x-www-form-urlencoded; 字符集= UTF-8 77
    信息:AspNet.Security.OpenIdConnect.Server.OpenIdConnectServerMiddleware [0]
          令牌请求已成功从HTTP请求中提取:{
            “ grant_type”:“密码”,
            “ username”:“ UserLogin”,
            “ password”:“ [出于安全原因被删除]”,
            “ scope”:“ offline_access”
          }。
    信息:AspNet.Security.OpenIdConnect.Server.OpenIdConnectServerMiddleware [0]
          令牌请求已成功验证。
    记录:AspNet.Security.OpenIdConnect.Server.OpenIdConnectServerMiddleware [0]
          触发了登录操作:子:123,用户名:UserLogin; [.scopes,[“电子邮件”,“个人资料”,“离线访问”]],[。resources,[“ resource_server”]]。
    dbug:Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository [37]
          从文件'C:\ Users \ User1 \ AppData \ Local \ ASP.NET \ DataProtection-Keys \ key-********-****-****-****-中读取数据64bb57db1c3b.xml”。
    dbug:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [18]
          找到了密钥{********-****-****-****-64bb57db1c3b}。
    dbug:Microsoft.AspNetCore.DataProtection.KeyManagement.DefaultKeyResolver [13]
          将失效日期为2017-09-27 16:44:49Z的密钥{********-****-****-****-****-64bb57db1c3b}作为默认密钥。
    dbug:Microsoft.AspNetCore.DataProtection.XmlEncryption.DpapiXmlDecryptor [51]
          使用Windows …

oauth-2.0 openid-connect aspnet-contrib asp.net-core

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

在JwtBearerOptions中为Azure Active Directory身份验证指定客户端密钥

如果我在Visual Studio 2017中创建新的ASP.NET Core MVC应用程序,则可以将一行一行的客户端密钥添加到AzureAdServiceCollectionExtensions

        public void Configure(string name, OpenIdConnectOptions options)
        {
            options.ClientId = _azureOptions.ClientId;
            // Add this line below
            options.ClientSecret = _azureOptions.ClientSecret;
            options.Authority = $"{_azureOptions.Instance}{_azureOptions.TenantId}";
            options.UseTokenLifetime = true;
            options.CallbackPath = _azureOptions.CallbackPath;
            options.RequireHttpsMetadata = false;
        }
Run Code Online (Sandbox Code Playgroud)

配置POCO已经连接好,可以从配置文件中获取它。

另一方面,在Web API项目中,身份验证使用JWT令牌,而Visual Studio生成的代码则不同:

        public void Configure(string name, JwtBearerOptions options)
        {
            options.Audience = _azureOptions.ClientId;
            options.Authority = $"{_azureOptions.Instance}{_azureOptions.TenantId}";
        }
Run Code Online (Sandbox Code Playgroud)

我不确定JwtBearOptions将客户密码放在何处。

jwt azure-active-directory openid-connect asp.net-core

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

Firebase身份验证和实时应用程序数据库如何保护自身?

从如何确保对在线资源的访问的一般开发角度来看,我对此感到很好奇。我们使用以下firebase配置参数初始化webapp:

  • apikey
  • authdomain
  • projectid
  • databaseurl
  • messagesenderid

服务器如何使用它们来确保请求有效?主要是为什么其他人不能只从应用程序中提取这些参数,然后创建另一个对“ Evil”使用相同参数的“ Evil”应用程序。

“邪恶”将包括创建一个具有与真实应用程序相同的凭据的其他应用程序,使用纯电子邮件/密码注册表单使用真实应用程序中包含的相同凭据对用户进行注册,然后在用户登录后执行甚至更多的“邪恶”。

同样是简单的节点快速js应用程序,我们希望使用上述参数来确保对其的访问安全,从应用程序请求生命周期的角度来看,这将如何工作?

1)快递收到请求

2)快递检查...

最后,openid-connect是如何工作的?换句话说,它是完全遵循openid-connect规范还是仅针对Firebase构建的基于自定义的安全解决方案?

javascript node.js firebase openid-connect firebase-authentication

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