标签: acs

如何使用Azure ACS将所需声明传递给OpenID身份提供程序?

查看Azure ACS生成的请求URL时,我可以看到ACS包含电子邮件,全名,名字和姓氏作为所需声明.此外,fullname属性映射到http://axschema.org/namePerson声明类型.

现在我已将MyOpenID添加为身份提供者.MyOpenID无法识别axschema声明,但我已成功http://schema.openid.net/namePerson从MyOpenID中检索到.

但问题是,即使我将http://schema.openid.net/namePerson声明作为与ACS中的MyOpenID声明发布者相关的规则添加,声明也不会包含在ACS生成的请求URL中.

是否有任何(隐藏)方法来配置要求此声明的请求?或者甚至更好,更改内置映射以使用schema.openid.net/namePerson类型而不是axschema.org/namePerson

accesscontrolservice azure appfabric azure-appfabric acs

24
推荐指数
1
解决办法
641
查看次数

已安装ACS,但MVC 4.0应用仍然重定向,无法找到login.aspx

首先发布stackoverflow,但我喜欢这个网站!...

我已经使用MVC 4成功创建了一个功能齐全的Azure混合模型应用程序.发布并且效果很好.现在我想将auth的ACS添加到我的站点.我已经按照所有步骤进行了操作,但是当我在模拟中运行应用程序时,它无法重定向到ACS并提供页面声明它无法找到login.aspx.

我创建了一个简单的网站解决方案,只是为了证明我的ACS设置正确并且工作得很好.我注意到这两个解决方案的web.config文件差别很大.

有人试过这样做吗?任何帮助,将不胜感激.

---------解决方案-----------

我终于把一切都搞定了. 关键是要删除WebMatrix.WebData引用,因为我不需要自己执行身份验证.以下内容来自MVC4发行说明.

当WebMatrix.WebData.dll包含在ASP.NET MVC 4应用程序的/ bin目录中时,它将接管表单身份验证的URL.将WebMatrix.WebData.dll程序集添加到应用程序(例如,在使用"添加可部署依赖项"对话框时选择"带有Razor语法的ASP.NET网页")将覆盖身份验证登录重定向到/ account/logon而不是/ account默认ASP.NET MVC帐户控制器所期望的/ login.

asp.net-mvc azure wif acs

24
推荐指数
1
解决办法
3782
查看次数

为什么我收到"从客户端检测到有潜在危险的Request.Form值"错误?

我使用"Internet应用程序"模板创建了一个新的ASP.NET MVC 3/.NET Framework 4.0站点.我使用Nuget安装Windows Azure Web角色(MVC3)包,然后按照访问控制服务演练设置Windows Live ID和Google身份验证.

很快,我遇到了"从客户端检测到一个潜在危险的Request.Form值"错误,并按照Windows Identity Foundation wiki中文章尝试解决它.不幸的是,我尝试过的一切都没有,包括:

  • 设置<httpRuntime requestValidationMode="2.0"/><pages validateRequest="false">在根web.config和Views\web.config中

  • SampleRequestValidator从WIF SDK 复制到项目并<httpRuntime requestValidationType="SampleRequestValidator"/>在web.configs中进行设置

我也试过这些变种而没有成功.

有任何想法吗?

这是完整的例外:


异常详细信息: System.Web.HttpRequestValidationException:从客户端检测到潜在危险的Request.Form值(wresult =" <t:RequestSecurityTo...").

说明:请求验证已检测到潜在危险的客户端输入值,并且请求的处理已中止.此值可能表示尝试破坏应用程序的安全性,例如跨站点脚本攻击.要允许页面覆盖应用程序请求验证设置,请将httpRuntime配置部分中的requestValidationMode属性设置为requestValidationMode ="2.0".示例:<httpRuntime requestValidationMode="2.0" />.设置此值后,您可以通过在Page指令或<pages>配置部分中设置validateRequest ="false"来禁用请求验证.但是,强烈建议您的应用程序在这种情况下明确检查所有输入.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=153133.

堆栈跟踪:

[HttpRequestValidationException(0x80004005):从客户端检测到一个潜在危险的Request.Form值(wresult =" <t:RequestSecurityTo...").

System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +8755668
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +122
System.Web.HttpRequest.get_Form() +114
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.IsSignInResponse(HttpRequest request) +75
Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request, Boolean …

azure wif acs asp.net-mvc-3

21
推荐指数
4
解决办法
5万
查看次数

Azure Service Bus Operations使用ACS引发TimeoutException而不是UnauthorizedAccessException

我正在使用访问控制服务来授权访问特定服务标识的特定服务总线订阅.

当从订阅接收会话或消息时,服务标识被授权并且可以根据需要接收和完成或放弃消息.

但是,我没有看到UnauthorizedAccessException尝试访问服务标识无权访问的订阅时,也没有在尝试执行规则组未针对该服务标识和依赖项发出声明的操作时看到此异常派对(如发送消息或创建主题).

相反,我最终看到了一个TimeoutException - "The timeout elapsed upon attempting to obtain a token while accessing 'https://namespace-sb.accesscontrol.windows.net/WRAPv0.9/'".内部例外是一个SecurityTokenException - "The token provider was unable to provide a security token while accessing 'https://namespace-sb.accesscontrol.windows.net/WRAPv0.9/'. Token provider returned message: 'The operation has timed out'".这会导致RetryPolicy出​​现问题,因为Timeout Exception被认为是瞬态的.

但奇怪的是,我UnauthorizedAccessException在尝试接收订阅描述时收到了.根据服务总线操作所需的权利,应该可以在... myTopic/Subscriptions/mySubscription范围内使用Listen Claim提供服务标识.

我有以下设置:

我看到以下问题:

var manager …
Run Code Online (Sandbox Code Playgroud)

.net accesscontrolservice azure acs azureservicebus

13
推荐指数
1
解决办法
2534
查看次数

使用自定义容器环境变量部署Azure Webapp

一般来说,我会在本地机器上启动docker实例 docker run -t -i -e 'a=b' ...

现在,我想部署并运行我之前上传到Docker Container Registry的自定义docker镜像,并像上面的命令一样启动它 - 使用环境变量.

检查Azure CLI for WebApps,您可以看到通常应该可以设置环境变量.但对我来说,似乎这个"环境变量"不是传递给docker命令的环境变量.为什么?检查容器协议我可以看到docker容器是如何启动的.没有设置环境变量.

使用Azure容器,它会像这样工作az container create ... --environment-variables a=b.这些环境变量传递给容器/ docker.这正是我在寻找WebApps的原因.

有没有人在使用环境变量启动的客户Docker实例部署Azure Webapps方面有一些经验?

azure acs docker azure-web-app-service

11
推荐指数
1
解决办法
4647
查看次数

ClaimTypes.IdentityProvider在哪里?

使用.Net 4.5 RC和Azure访问控制服务,我感兴趣的主要声明是IdentityProvider和NameIdentifier.

System.Security.Claims.ClaimTypes包含众所周知的声明的常量,它有ClaimTypes.NameIdentifier,但似乎缺少ClaimTypes.IdentityProvider.

我真的很惊讶没有在那里找到它.当然,我可以在我自己的一个常量中使用字符串表示"http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider",但鉴于微软对云的推动,我希望使用标准的ClaimTypes找到它.

这只是疏忽吗?有没有充分的理由让它缺席?它在其他名称空间中吗?

claims-based-identity wif acs .net-4.5

10
推荐指数
1
解决办法
2280
查看次数

非Apple应用程序可以使用Apple ID吗?

Google和Facebook都可以在Ping Identity或Microsoft ACS等安全联合设置中充当身份提供商.

有谁知道是否有可能将Apple Id添加为身份提供者?

federated-identity federation acs apple-id

9
推荐指数
1
解决办法
1829
查看次数

使用ACS扩展Azure Web角色时的保护API异常

我一直在使用针对Windows Live和Google的Azure ACS,它一直运行没有任何问题.昨晚我们将实例从1个运行实例扩展到3个,从那以后人们在访问我们的网站时报告了问题.我们已将此跟踪到以下异常情况,该异常情况经常发生.

我们假设我们的配置中存在问题,但不确定我们缺少什么.我们设置机器密钥......

<machineKey decryption="AES" decryptionKey="F7_SOMETHING_SOMETHING_FA" validation="SHA1" validationKey="63_SOMETHING_SOMETHING_BF" />
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释这个问题吗?

System.InvalidOperationException: ID1073: A CryptographicException occurred when attempting to decrypt the cookie using the ProtectedData API (see inner exception for details). If you are using IIS 7.5, this could be due to the loadUserProfile setting on the Application Pool being set to false.  ---> System.Security.Cryptography.CryptographicException: Key not valid for use in specified state.

   at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
   at Microsoft.IdentityModel.Web.ProtectedDataCookieTransform.Decode(Byte[] encoded)
   --- End of inner exception stack trace …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc azure azure-web-roles acs

9
推荐指数
1
解决办法
1538
查看次数

基于声明的身份验证 - SharePoint和一般

所有,

我一直在阅读基于声明的身份验证,但我仍然有点困惑.我正在努力巩固我的理解,特别是与SharePoint 2010/2013有关,但也通常(即ASP.NET).

我对各种技术术语的理解如下:

  • WIF(Windows Identity Foundation) - 用于消费身份声明和构建自定义STS等的.NET库(API集).

  • 依赖方 - 索赔的"消费者"(即SharePoint,ASP.NET网站等).索赔是通过STS(仅限IP-STS?)提供的.

  • STS(安全令牌服务) - 一种发布安全令牌的专用Web服务.有两种口味,有些STS可能同时都有两种口味?

    • RP-STS(依赖方安全令牌服务)
    • IP-STS(身份提供商安全令牌服务)
  • 可信身份提供程序(SharePoint术语) - AKA.IP-STS.

  • SharePoint 2010/2013 STS - 使用WIF开发的SharePoint Service应用程序,仅用作RP-STS.充当许多用户可配置的可信身份提供商(IP-STS)的可插入聚合点.如果需要,可以使用WIF手工构建.

  • ADFS 2.0 - 专门用于仅针对Active Directory实例联合组织的Windows角色.公开使用WIF构建的IP-STS端点.我对ADFS 2.0的理解是它不允许您"聚合"其他身份提供者 - 它只允许您针对可能不是本地的特定AD实例进行身份验证,因此需要联合以支持SSO .

  • Windows Azure ACS 2.0 - 专门用于联合任何已配置的第三方身份提供商(即Microsoft帐户,Google,Facebook,ADFS 2.0)的服务.充当其他身份提供商的可插入聚合点,其作用有点像依赖方.公开使用WIF构建的IP-STS端点.它聚合的身份提供商不一定是IP-STS,但ACS 2.0使用其内置的IP-STS通过声明公开所有内容.

SharePoint 2010/2013问题:

我的主要问题是我看过几篇关于ADFS 2.0和SharePoint的文章,几乎就像你用ADFS 2.0 取代内置的SharePoint 2010/2013 STS一样!希望这只是我的阅读,但它让我理解困惑.

  1. 你真的可以这样做吗?如果你真的想要,我认为没有理由你不能,但我认为你需要禁用SharePoint STS并进行大量的手动配置?
  2. 你为什么想做这个?

2.1.SharePoint STS已经支持AD身份验证作为OOTB可信身份提供程序选项,如果您想使用ADFS 2.0,则可以将其添加为我见过博客帖子的可信身份提供程序(IP-STS).

2.2.根据我对ADFS 2.0的描述,为SharePoint STS更改它实际上会给你一个不太灵活的解决方案吗?

声明:

  • 您可以将SharePoint STS配置为使用ADFS 2.0 aa Trusted Identity Provider(IP-STS),以及代替本地AD.
  • 您可以将SharePoint STS配置为使用Windows Azure ACS 2.0 aa Trusted Identity Provider(IP-STS).这样可以很容易地支持第三方身份验证提供程序,而无需使用WIF开发自己的IP-STS.

ASP.NET WIF问题: …

claims-based-identity claims wif adfs2.0 acs

9
推荐指数
1
解决办法
2775
查看次数

WCF用户名身份验证 - 教程中的异常

我正在从这个页面做教程:http://msdn.microsoft.com/en-us/library/gg185927.aspx 我想我做的一切都好,但我得到了这个例外:

   `An error occurred when processing the security tokens in the message.`
Run Code Online (Sandbox Code Playgroud)

我做错了什么?我使用了样品证书.也许我应该创建自己的证书?有什么区别吗?

我注意到硬编码凭证与教程中传递的略有不同,因此我在Services Identites中更改了它们.在我这样做之前,我收到了身份验证异常,因此我认为可以更改它.

我没有任何安全方面的经验,但我想最终学习它,所以我希望你们能帮助我:)

编辑:我不确定这个王国是否还可以.我过去了 http://localhost:7100/Service/Default.aspx .我在我的本地机器上运行它,我不确定它是否应该这样做.编辑2:这是StackTrace:

Server stack trace: 
at  System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
at …
Run Code Online (Sandbox Code Playgroud)

c# azure acs

9
推荐指数
1
解决办法
444
查看次数