标签: federated-identity

WIF手动生成federationmetadata.xml

我正在玩Windows身份基础,我正在尝试创建一个基于MVC.NET的安全令牌服务,并将其用作单点登录应用程序.

我唯一的问题是我不知道如何生成federationmetadata.xml文件.

有手动生成此文件的工具吗?

.net federated-identity wif

8
推荐指数
1
解决办法
7125
查看次数

WIF-ID1014:签名无效.数据可能已被篡改

我一直在使用WIF来验证我们的新网站,STS基于starter-sts实现.

为了使其在负载均衡环境中正常工作,我在global.asax中使用了以下内容来覆盖默认的证书行为.

void onServiceConfigurationCreated(object sender, ServiceConfigurationCreatedEventArgs e)
        {
            List<CookieTransform> sessionTransforms = new List<CookieTransform>(new CookieTransform[] 
            { 
                new DeflateCookieTransform(), 
                new RsaEncryptionCookieTransform(e.ServiceConfiguration.ServiceCertificate),
                new RsaSignatureCookieTransform(e.ServiceConfiguration.ServiceCertificate)
            });

            SessionSecurityTokenHandler sessionHandler = new SessionSecurityTokenHandler(sessionTransforms.AsReadOnly());
            e.ServiceConfiguration.SecurityTokenHandlers.AddOrReplace(sessionHandler);
        }
Run Code Online (Sandbox Code Playgroud)

这一切都正常工作,人们已成功使用该系统,但不时我们得到一个爆炸:

ID1014:签名无效.数据可能已被篡改.

在事件日志中,所以我打开了WIF跟踪,并在日志中看到了以下提到的内容.

ID1074:尝试使用ProtectedData API加密cookie时发生CryptographicException(有关详细信息,请参阅内部异常).如果您使用的是IIS 7.5,则可能是由于应用程序池上的loadUserProfile设置被设置为false.

我有一种感觉,正如我想的那样,这导致我走入一条黑暗的小巷,因为我改变了使用RSA的实现,这不应该影响我.

有什么想法可以帮到我吗?

federated-identity windows-identity wif ws-federation

8
推荐指数
2
解决办法
5864
查看次数

使用Cognito Federated Identities进行API网关身份验证

我想使用Cognito Federated Entity(允许通过Google登录等),允许访问用于web javascript应用程序的API Gateway.我设法通过与Google签约获得了Cognito的sessionToken,但我坚持使用API​​网关配置来启用会话令牌.

这个整个联合实体身份验证工作流程是否有一个很好的教程?

谢谢!

javascript federated-identity amazon-web-services amazon-cognito aws-api-gateway

8
推荐指数
1
解决办法
3863
查看次数

Google App Engine上的联合身份

我成功使用以下两种方法,使用Google App Engine(Python)上的我的站点使用联合登录登录

users.create_login_url("\", "google", "https://www.google.com/accounts/o8/id")
users.create_login_url("\", "yahoo", "http://open.login.yahooapis.com/openid20/www.yahoo.com/xrds")
Run Code Online (Sandbox Code Playgroud)

我希望为我的用户提供更多登录选项.任何人都可以帮助我获得Facebook,MySpace,Wordpress等的联合身份.

python openid google-app-engine federated-identity

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

是什么让FederatedAuthentication.SessionAuthenticationModule返回NULL?

我不确定为什么,但是当我尝试运行我的ClaimsTransformer()模块时,我的FederatedAuthentication.SessionAuthenticationModule解析为NULL并且崩溃我的应用程序:

    public void EstablishSession(ClaimsPrincipal principal)
    {
        var sessionToken = new SessionSecurityToken(principal, TimeSpan.FromHours(8))
        {
            IsPersistent = false, // make persistent
            IsReferenceMode = true // cache on server
        };


        FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionToken);
       // FederatedAuthentication.SessionAuthenticationModule == null and I throw an error :(
    }
Run Code Online (Sandbox Code Playgroud)

这是我的web.config中的内容:

<configSections>
  <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
  <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</configSections>
<system.web>
  <authentication mode="None" />
</system.web>
<system.webServer>
  <modules runAllManagedModulesForAllRequests="true">
    <remove name="RoleManager" />
    <remove name="FormsAuthentication" />
    <remove name="SessionAuthenticationModule" />
    <add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, …
Run Code Online (Sandbox Code Playgroud)

c# security federated-identity wif

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

找不到securityToken的有效键映射

我正在开发用于在MVC-ASP.net中显示认证身份声明的测试应用程序(Visual Studio 2013)我已经通过以下方式从活动目录中进行了身份验证.

1.在解决方案中添加新的mvc项目.2.点击更改身份验证.3.选择组织账户4.选择现场.5.given federation url 6.App Id url

运行应用程序后,我收到以下错误.

WIF10201:找不到securityToken的有效密钥映射:'System.IdentityModel.Tokens.X509SecurityToken'和颁发者:' http ://websso.avanade.com/adfs/services/trust '

此错误仅适用于我能够查看声明的其他联盟的联合.

在互联网上搜索后,我认为这是证书(指纹)问题.但我不清楚解决方案.

任何人都可以解释为什么这个错误抛出和解决方案相同.

提前致谢 !!!

asp.net-mvc azure federated-identity visual-studio-2013 asp.net-mvc-5

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

PingFederate IdP发起的Logout,重定向到TargetResource

Ping Ping Federate从IdP流注销,从Ping Federate 文档开始

序列

  1. 用户启动单个注销请求.该请求以PingFederate服务器的/idp/startSLO.ping端点为目标.

  2. PingFederate发送注销请求并接收来自为当前SSO会话注册的所有SP的响应.

  3. PingFederate将请求重定向到IdP Web应用程序的Logout Service,该服务在本地标识和删除用户的会话.

  4. 应用程序Logout Service重定向回PingFederate以显示注销成功页面.

但是,我对应用程序Logout Service有一点问题 ,需要在IdP适配器配置中设置.

问题是我有动态注销URL,因此我无法在注销服务中使用它.

目前我正在尝试初始化IdP发起的SLO.TargetResource在SLO成功之后,我正在为此将用户重定向到IdP.

https://idp.pf.com:9031/idp/startSLO.ping?PartnerSpId=testSpId&TargetResource=http%3A%2F%2Fdynamicsubhost.baseurl.com%3A8080%2Fweb%2Fmy-bank%2Flogout
Run Code Online (Sandbox Code Playgroud)

题 :

那么我怎样才能使PingFederate设置跳过Step 3,所以不是重定向到IdP Logout service它重定向到TargetResource.

我尝试过的:

我知道这听起来很俗气,但实际上我将IdP注销服务保持为空白.但显然它没有用.

PS尴尬的是,当我使用相同的PF服务器配置IdP和SP服务器时,它运行良好.但是,当我切换到单独的PF服务器实例来托管PingFederate服务器时,结果就出现了.

federated-identity single-sign-on pingfederate

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

我可以通过编程方式创建AWS Cognito用户登录吗?

我希望我的应用程序允许用户使用Facebook,Google,Amazon ...等帐户才能登录我的应用程序.这可以通过AWS Cognito正常工作.

但是,如果用户没有任何登录,应用程序是否可以通过编程方式创建用户登录?

  1. 用户将提供id和密码,app将该信息发送给认证提供者以创建新的登录/帐户.

  2. 我不需要实现自己的身份验证机制,并担心如何存储密码等.

根据我的研究,我认为现有的身份验证提供程序甚至OpenID等其他服务都无法做到这一点.

如果我不想实现自己的登录存储和身份验证,您还有其他选择吗?它不一定需要与AWS Cognito集成.

authentication federated-identity amazon-web-services amazon-cognito

7
推荐指数
2
解决办法
2512
查看次数

Google登录按钮 - 如何在使用重定向流时在服务器上获取id_token

我在我的网站上添加了"使用Google登录"联合登录按钮.对于桌面我使用的弹出窗口效果很好:

gapi.auth2.init();
gapi.auth2.getAuthInstance().signIn().then(function(user) {
  var id_token = user.getAuthResponse().id_token;
  // ajax call to pass this to server
});
Run Code Online (Sandbox Code Playgroud)

但是在移动设备上我们想要使用重定向而不是弹出窗口,因为在移动浏览器中单独的选项卡有点笨拙.我只是改为:

gapi.auth2.init({
  ux_mode: 'redirect',
  redirect_uri: 'http://example.com/google_login/'
});
Run Code Online (Sandbox Code Playgroud)

这有效,但它添加了我需要的id_token作为哈希片段,服务器无法看到.它最终在:

http://example.com/google_login/#id_token=ASDFASDFASDFASDF
Run Code Online (Sandbox Code Playgroud)

我想我可以渲染一个带有脚本标签的连接器页面拉出window.location.hash并将其作为查询参数重定向到自身,但看起来很疯狂我必须这样做.有没有更好的办法?

federated-identity google-signin

7
推荐指数
0
解决办法
280
查看次数

联合与委派,OAuth与OpenID Connect与SAML

我试图了解联合身份验证和委托身份验证之间的差异,但我越来越困惑.

  1. 我们是否始终使用SAML协议进行联合身份验证?或者是什么?

  2. 是否可以将OpenID Connect(或OAuth)用于两种身份验证方法?

  3. 我们是否需要在两个域之间建立Trusted连接才能进行委托或联合身份验证?

  4. 我们是否始终将SAML用于合作伙伴,将OpenID Connect(或OAuth)用于客户?

  5. 如果有人在两个域(合作伙伴和企业)之间解释这两种身份验证方法的不同步骤,我将不胜感激.

identity federated-identity oauth-2.0 identity-delegation openid-connect

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