标签: adfs

从ADFS声明auth

我尝试通过WPF应用程序连接到SharePoint Online实例.我发现这篇文章描述了一个可能的解决方案,但问题是特定实例前面有一个Active Directory联合身份验证服务(ADFS),我不知道如何获取auth-token.(我无法为我的应用程序创建证书以对adfs进行身份验证.)

任何已经完成此操作的人都可以通过一些代码片段来支持我吗?

c# authentication sharepoint adfs active-directory

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

将WebApp授权给ADFS以访问Dynamics CRM Web API

我有一个需要与Dynamic CRM 365 Web API对话的Web应用程序.动态CRM在ADFS上配置为依赖方.服务器是Windows Server 2016,一切都是内部部署,而不是Azure.

我为获取有效令牌所做的工作如下:

1)在ADFS中,转到应用程序组并添加新的服务器应用程序,获取ClientID并为我的Web应用程序生成客户机密钥.

在此输入图像描述

2)在Active Directory中添加新的用户webAppUser

3)在CRM中使用应用程序ID 将此用户添加为应用程序用户 ID,这是我在将Web应用程序注册到ADFS时之前获得的ClientID.还创建了一个具有实体帐户完全权限的新角色,并将此角色分配给此应用程序用户

4)我正在使用以下代码来检索承载令牌并将其添加到我的HttpClient Authorization标头中.

public class CrmWebApiClient
{
    private HttpClient _httpClient;

    public CrmWebApiClient()
    {
        _httpClient = new HttpClient();
        _httpClient.BaseAddress = new Uri("https://crmbaseaddress.com");            
    }

    internal async Task Initialize()
    {
        try
        {               
            var authority = "https://adfsServerUrl/adfs/";
            var authContext = new AuthenticationContext(authority,false);
            var credentials = new ClientCredential(clientID,clientSecret);

            var authResult = await authContext.AcquireTokenAsync("https://crmbaseaddress.com", credentials);

            _httpClient.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
        }
        catch (Exception ex)
        {
            var error = ex;
        } …
Run Code Online (Sandbox Code Playgroud)

authorization adfs token dynamics-crm dynamics-365

14
推荐指数
1
解决办法
2070
查看次数

AADSTS700016:在目录“some_another_id”中找不到标识符为“some_id”的应用程序

这是一个错误 img

我需要一个带有自定义策略的联合身份验证(当用户通过身份验证时,我需要他在 b2c 用户中显示为联合身份,而不是其他人或其他我可以用单个租户实现的东西),我以前在 azure 中将默认策略设置为 OpenId提供者,但没有找到如何在自定义策略中使用 OpenId 进行 FEDERATION 身份验证,所以我使用 SAML 和我所拥有的以下内容进行了验证。

我试过单租户,这不是我需要的。问题也不在于签名密钥,因为我已经遇到了这个问题并解决了这个问题。我创建了自签名证书,先将其上传到 AAD 应用程序,然后再上传到 b2c 策略密钥。我认为验证联邦的应用程序不是问题,因为我使用默认策略。

    <TechnicalProfile Id="Office-SAML2">
      <DisplayName>Microsoft Office 365</DisplayName>
      <Description>Login with your ADFS account</Description>
      <Protocol Name="SAML2"/>
      <Metadata>
        <Item Key="WantsSignedRequests">false</Item>
        <Item Key="PartnerEntity">https://login.microsoftonline.com/<b2c tenant id>/federationmetadata/2007-06/federationmetadata.xml</Item>
        <Item Key="XmlSignatureAlgorithm">Sha256</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlCert"/>
        <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlCert"/>
      </CryptographicKeys>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="userPrincipalName" />
        <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name"/>
        <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name"/>
        <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email"/>
        <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name"/>
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="https://sts.windows.net/<b2c tenant id>/" AlwaysUseDefaultValue="true" />
        <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/> …
Run Code Online (Sandbox Code Playgroud)

adfs saml saml-2.0 azure-active-directory azure-ad-b2c

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

将外部用户放在Active Directory中是不好的做法?

我们有一个现有的Web应用程序,我们希望从自定义身份验证解决方案迁移到Active Directory联合身份验证服务,以便我们的合作伙伴组织可以管理其用户的授权.

现在,该站点使用自定义数据库表来管理用户和自定义逻辑来管理身份验证和授权.

除了将通过ADFS对其用户进行身份验证并获得访问权限的合作伙伴组织之外,我们还有位于Active Directory域中的内部用户.这些用户也可以通过ADFS进行身份验证.

我们的问题围绕着我们的外部用户.该网站还允许个人注册.这些人没有任何他们工作的组织,因此我们不能使用ADFS来处理他们的身份验证.

由于我们需要支持这些人,因此我们需要管理他们的用户帐户.

ADFS只能连接到Active Directory或Active Directory应用程序模式帐户存储.

由于ADFS仅支持这些帐户存储,因此逻辑解决方案似乎是在Active Directory域中为外部用户创建帐户.

这意味着我们将更新我们的注册页面以在活动Active Directory中创建新用户帐户,而不是在我们的自定义数据库中创建新记录.

那么,这是一种不好的做法吗?AD应该用于组织外部的用户吗?在使用ADFS时,其他人如何处理这种情况?

security authentication adfs active-directory

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

ADFS服务器的URL重定向

我在我的ASP.net网络应用程序中使用ADFS进行身份验证.STS服务器将浏览器重定向到https://test.contoso.com.在首先将客户端重定向到STS时,STS不允许任何返回URL参数.

是否可以将浏览器从https://test.contoso.com(从STS重定向后)重定向到任何其他URL,例如https://variableName.test1.contoso2.com

任何帮助深表感谢.

asp.net authentication redirect adfs wif

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

我怎样才能知道我的"内部管理局"网址是什么?

我正在设置一个新的.NET MVC项目,并希望使用我的本地ADFS来管理用户.我知道运行ADFS的计算机的IP地址,并尝试将其用于"内部部署权限"URL,但我收到一条消息,指出它不正确.

是否有命令我可以运行以找到我应该用于此字段的地址/网址?

作为参考,这是我正在谈论的菜单框: 在此输入图像描述

asp.net-mvc adfs active-directory visual-studio-2013

12
推荐指数
1
解决办法
5726
查看次数

LDAP与ADFS单一登录

我在一家提供SaaS解决方案的公司工作.我们目前允许客户使用ADFS来使用ADFS,我们是接受SAML断言的服务提供商.我们似乎有很多人通过LDAP请求SSO.我知道LDAP是在AD网络上验证用户身份的协议.我想知道 - 这是ADFS的代名词还是他们在谈论其他事情?

如果ADFS不一定是通过互联网进行LDAP身份验证的最佳做法,那么有人可以给我一个关于如何使用LDAP对另一个网站进行身份验证的高级解释吗?

ldap adfs

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

我可以提供在SAML请求中使用的用户名吗?(AD FS)

在启动SAML身份验证请求时(来自服务提供商),是否有任何方法可以向身份提供商提供有关使用哪个用户名的提示?在我的应用程序中,我知道它要对哪个用户进行身份验证(基于用户在电子邮件中单击的唯一链接),并且我希望在IdP的用户名框中预填充该用户名.

将SAML 2.0与Active Directory联合身份验证服务(AD FS)配合使用2.1.

adfs saml single-sign-on saml-2.0

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

如何模拟ADFS IdP以便于测试我的SP代码

我需要为node.js服务提供基于SAML2.0的单点登录(SSO)功能.这将消耗由运行Active Directory联合服务(ADFS)的身份提供程序(IdP)生成的SAML断言

理想情况下,我想设置一个测试ADFS IdP,我可以用它来内部生成SAML断言.然后我可以使用它来确保我的服务正确处理这些断言.

不幸的是我的公司不使用Active Directory,因此我们不能只设置测试ADFS平台.许可证很昂贵,因此我无法从头开始创建内部测试服务器.

我是否可以通过低成本方式模拟ADFS IdP,为我的新SSO服务提供真实的测试平台?

adfs single-sign-on

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

使用ADFS声明重定向循环.Net MVC Authorize属性

我在使用.Net MVC 5 app配置ADFS时遇到问题.

我已经在VS 2015中配置我的项目以使用声明并且它工作正常,但我有一个问题.

我可以登录,使用ADFS,我可以检查用户角色等.当我尝试使用时出现问题

[Authorize(Roles="somenonExistingRole")]
Run Code Online (Sandbox Code Playgroud)

尽管我已经通过身份验证,但是当重新进行身份验证时,我被重定向到ADFS页面,并且我被重定向到我的页面,其中发生了循环.页面将我发送到ADFS门户,ADFS将我重定向到门户网站,并在几次尝试后从ADFS(到许多请求)收到错误

我是否必须自己实施角色提供程序?或者我需要配置额外的东西.也许我可以限制尝试次数?当我的角色已经完成时,为什么我会被重定向到ADFS?

在代码中没有多少显示实际,按要求:我测试的控制器:

 public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
        [Authorize]
        public ActionResult About()
        {
            var u = HttpContext.User;


            if (u.IsInRole("/"))
            {
                ViewBag.Message = "User is in role.";
            }
            else
            {
                ViewBag.Message = "User is NOT in role.";
            }

            return View();
        }
        [Authorize(Roles = "/nonexistingRole")]
        public ActionResult Contact()
        {

            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
Run Code Online (Sandbox Code Playgroud)

和配置身份验证部分

public void ConfigureAuth(IAppBuilder app)
{
    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

    app.UseCookieAuthentication(new …
Run Code Online (Sandbox Code Playgroud)

.net asp.net-mvc adfs claims-based-identity claims

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