Local adfs to client ADFS&AD redirction - adfs2.0

I have web app which uses WIF/ADFS claim fo ruathentication, i have set up one adfs and AD for that.
Now my need is i want to redirect and levarage client specific ADFS & AD for authentication.
App->Local ADFS->Client-1 ADFS->client -1 AD
App->Local ADFS->Client-2 ADFS->client -2 AD
so i want to do configuration for that client specific redirection in my Local ADFS, is it possible?

If I understand correctly you'll have an ADFS Federation Provider (FP) Issuer in your organization and your clients will have an ADFS (or other) Identity Provider (IdP) Issuer on their side.
To do this you would setup 2 Claims Provider Trusts (CPT) in your ADFS, one for Client1 and another for Client2. When you start the new CPT wizard, you may be able to configure these using metadata provided by your clients ADFS (e.g. https://fs.client1.com/federationmetadata/2007-06/federationmetadata.xml). Your clients will then also need to configure your organization as a Relying Party Trust (RPT) in their ADFS. If your metadata is available to them via a URL, they should be able to use the new RPT wizard in ADFS and configure their RPT for your organization with something like https://fs.myorg.com/federationmetadata/2007-06/federationmetadata.xml. Then, claims rules should be configured in these RPT's at your clients for claims to send to your organization and your CPT's for your clients should be configured to process the received claims from the clients.

Related

AD FS Authentication

I have a more theoretical question about AD FS. If I use it as a STS (Security token service) for accessing some internal company information from outside of private company network (over internet), using Claim-based authentication, can I decide exactly what credentials will be used for authentication or is it pre-set by Active Directory policies? To be more accurate, could I authenticate form a device that is not registered in AD?
If you want to authenticate against ADFS from outside the corporate domain, you should install the ADFS proxy in your DMZ.
ADFS can be used to authenticate users against the Active Directory domain it is installed in, or trust tokens coming from a federated STS.
So, if you have a web application that trusts tokens issued by ADFS, you can use security protocols like WS-Federation, WS-Trust or OAuth 2.0 (in ADFS 3.0) to get a token from ADFS and use it to authenticate against your web application.
Device registration is not required to use these protocols.
HTH.

Abstracting OpenID Connect Idp behind a Windows Identity Foundation STS

Premise:
I have an infrastructure where we have a custom RP-STS implemented with Windows Identity Foundation, providing SSO for a few websites. This STS communicates with the sites via WSFederation. This custom STS is about to be deprecated because the organization is adding an Open ID Connect Idp into the infrastructure.
The websites themselves (Episerver) contain all the custom made authorization logic already based on the claims the STS provides, and if we were to simply toss the STS we'd have to replace all of this logic.
Question:
What is the browser redirect flow to integrate our RP-STS to the openId connect provider in such a way that the end user browser gets a session for both our RP STS and the Open Id Connect IdP?
Personal thinking on how it might be doable (based on massive assumptions on how openid connect works), skip this if you know how to answer:
Website sends HTTP post to RP-STS containing username/password
RP STS responds to browser with redirect to OpenId Connect Idp (Redirect contains username / password, and a replyto address is set to the RP STS)
OpenId Connect Idp creates a local session (???) and responds with a redirect to RP STS, redirect contains auth_token. (I'm unsure of the parts that go into an openid connect login flow)
RP STS receives user token and gets / asks for user data, builds claims and builds local session
RP STS sends claims in SAML token via WSFed to RP site
Am I even close?
Further clarification:
I do not want to remove the existing STS, but abstract the new infrastructure change behind it so that from the end-user-sites perspective, identity objects and authorization logic will remain unchanged.
I need help specifically in seeing if the login/logout flow is doable between the STS and the Open ID Connect IDP
WIF and OpenID Connect are completely different protocols e.g. WIF is mainly browser based in the passive profile. The token types are different - SAML and JWT etc.
The way to do this is via OWIN (Katana is the Microsoft implementation). There are NuGet packages for both WS-Fed and OpenID Connect.
There are samples available for Azure AD - refer Microsoft Azure Active Directory Samples and Documentation that you could use as a guide.
OWIN would allow you to use both protocols.
In fact, have a look at IdentityServer3.
This is an open source STS implementation of both.

How to configure Identity Provider (IP-STS) with ADFS?

I am attempting to set up a test configuration for IdentityProvider(IP-STS)-Initiated SSO using ADFS 2.0 as my RP STS and a Active Directory identity provider. Here is my set up:
Identity Provider - Domain Active Directy
RP-STS - ADFS 2.0 instance with an RP trust relationship with my asp.net application.
RP Application - ASP.NET web application (WIF) with an STS reference to my ADFS 2.0 STS.
I know I need to create some kind of trust between ADFS and my IP but I don't know what that might be. My issue is I can't find any good resources for instructions on how to do this. Most of what I find assumes that ADFS is also the Identity Provider and is configured. I am not finding the right resources
please any one help me with right example.
Thanks,
sampath.
When you say "Identity Provider - Domain Active Directory", what IP are you using?
AD is not an IP?
ADFS (which uses AD as its repository) is.
When you install ADFS it "binds" to the AD DC in the domain - that's the trust relationship. You don't need to do anything explicit.
If you indeed have another IP, then you set up a CP / RP relationship between the two IP with the normal metadata exchange.
Yes, AD is an IP(Identity Provider).
I've Installed ADFS in one machine(VM), and my Identity Provider(Ipd) is in another VM.
Now i want to establish trust relationship between these two.
you are saying When you install ADFS it "binds" to the AD DC in the domain - that's the trust relationship means I need to setup ADFS and AD DC in the same machine(VM)?
i have another IP, then how to set up a RP relationship between the two IPs with the normal metadata exchange?
i've added the AD DC as relying party trust in adfs. but getting the following error
*HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Module IIS Web Core
Notification MapRequestHandler
Handler StaticFile
Error Code 0x80070002
Requested URL
Physical Path C:\inetpub\wwwroot\ClaimsApp_STS\
Logon Method Anonymous
Logon User Anonymous*
Thanks,
Sampath.

ADFS 2.0 claims transformation

I have Sharepoint which has configured claims based authentication with the adfs. ADFS is configured to use third party claims provider trust. So when user is accessing sharepoint he is redirected through the adfs to the third party identity provider login page. This identity provider (IdP) returns saml2 token back to the adfs and adfs redirect user to the sharepoint.
the problem is that third party IdP is configured to return only specific saml attributes (claims). I need to configure ADFS to understand this specific attribute.
the custom saml attributes looks like:
<saml:Attribute Name="CustomID">
<saml:AttributeValue xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">12345</saml:AttributeValue>
</saml:Attribute>
How can I use this claims in ADFS and then send it to the sharepoint?
thanks.
Set up the ADFS / RP config. for the RP to pass through all claims instead of getting them from AD.

Integration Sharepoint 2010, ADFS 2.0 and ThinkTecture IdentityServer

I have the following scenario:
Sharepoint 2010 with Claims based authentication web application.
ADFS 2.0 which has configured Claims provider trust to the ThinkTecture IdentityServer.
ThinkTecture IdentityServer which has configured ADFS 2.0 as a relying party.
Sharepoint 2010 has SPTrustedIdentityTokenIssuer configured pointing to ADFS 2.0.
Now when I'm loging to the Sharepoint, I'm redirected to the ADFS 2.0 Home Realm page, when I choose Identity Provider. Then I'm redirected to the ThinkTecture IdentityServer. Then I'm logged with my credentials from IdentityServer and I'm redirected back to the ADFS and then to the Sharepoint. The problem is, that sharepoint show error message. I'am adding log records from sharepoint:
Authenticated with login provider. Validating request security token.
Trusted login provider 'SAML2 Provider' is not sending configured input identity claim type 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'
SPSecurityTokenService.Issue() failed: System.ServiceModel.FaultException: The trusted login provider did not supply a token accepted by this farm.
at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.SPRequestInfo.ValidateTrustedLoginRequest()
Access Denied: Authentication is required.
I was find out, that the token returned from Identity Server to ADFS contains emailaddress claim, but the token returned from ADFS to SP does not. It is a strange, because I have ADFS configured to support emailaddress to pass through for all claims
(in Claims provider trust for identity server). Do I need to setup adfs somewhere else? I am newbie in adfs.
What I want to achieve is to forward my request through the ADFS to the IdentityProvider (in this case ThinkTecture IdentityServer) and to get back the token from IdentityProvider. ThinkTecture IdentityServer is only in my test environment in the real environment it will replaced by Oracle Identity Federation.
The target problem is to integrate Sharepoint 2010 with the Oracle Identity Federation. But the problem is, that the Sharepoint doesn't support SAML 2 protocol which OIF will provides as exclusive endpoint binding. So I'm trying to hack it with the ADFS (as a somethinkg like proxy) which will communicate with Sharepoint based on the SAML 1.1 on one side and with the OIF based on the SAML 2 on other side.
This is the following extract from IdP metadata:
<md:IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">...
So I have no option to use WS-Federation.
I will appreciate advise if this is a good way how to achieve the required behaviour.
thanks
So your path is SP -> ADFS -> IdentityServer?
The problem is that the email address is not being passed through. So you have to set up IdentityServer to generate the email address claim and you have to setup ADFS to pass through all claims. Then configure SP to accept email address as a claim (using the SP Powershell commands).
Add: You need to create pass through claim rules for the email claim in ADFS - both for the claims provider trust and the relying party trust.
OIF supports WS-Federation - refer ORACLE IDENTITY FEDERATION 11g R2 - so no problem to federate OIF with SP.