import sp.xml file on service provider or identity provider - adfs2.0

I am doing adfs+openam federation where openam server is my service provider and adfs server is identity provider .In that I have created sp.xml and sp-extend.xml file on openam server. and idp.xml and idp-extend.xml on adfs server.
But where to import that sp.xml whether on Openam or adfs server . also same about idp.xml. I am confused about this. I am refering following site to do configuration:
https://wikis.forgerock.org/confluence/display/openam/OpenAM+and+ADFS2+configuration

Normally, idp.xml (the ADFS metadata) would be imported into OpenAM and sp.xml (the OpenAM metadata) would be imported into ADFS.
On the ADFS side, this would be done by clicking "Add Relying Party Trust" and then selecting the second option "Import data about relying party from a file".
The documentation is not clear. It simple says for OpenAM:
"Secondly import the identity providers. This can be done by uploading the metadata XML files. You need to upload both the metadata and the extended metadata files per provider."
which implies both files (idp and sp).
For ADFS, it recommends using the first "Add Relying Party Trust" option which is "Import data about the relying party published online".
"However ADFS lets us use the OpenAM federation URL to obtain the metadata dynamically. So selecting the first option and use the following URL
https://sso01.aaa.local:8443/opensso/saml2/jsp/exportmetadata.jsp
This will import the Relying Party Trust."
I would try only importing the idp.xml into OpenAM and then use either of the two options to import sp.xml into ADFS.

Related

Blazor Local authentication plus Google and microsoft

I'm working on a blazor web assembly, core hosted project.
The users must have a local account to use the website. For that I use default blazor authentication provider with IdentityServer.
I have a calendar page, where users can add and watch some events.
I would like to offer them the possibility to log in their google or microsoft account in order to see their personnal events in the same place.
But the google or microsoft authentication can't replace the local authentication. It must be a secondary option.
I can't find out how to manage this. All exemples I see use the RemoteAuthenticatorView.
You need to add external provider authentication to your server project by following steps described in Facebook, Google, and external provider authentication in ASP.NET Core

Is it possible to authenticate against a Keycloak's Identity Provider (OpenAM) without using the Login screen?

Please note I am new to the applications I am mentioning so I might use the terminology incorrectly. I've added a few diagrams to explain myself as best I could.
I am trying to setup a web service authentication policy in APIMAN (which uses Keycloak internally)
So far I know the Identity Provider (OpenAM) I created in Keycloak is configured correctly since it is working on the Login page (see image 1 below)
I have also successfully used an access_token via Keycloak's OpenID API to access a web service; but only if the user credentials are in Keycloak (as oppossed to OpenAM) (see image 2)
What I'd like to achieve is to authenticate this web service client via Keycloak but using the Identity Provider's credentials, but I do not know how to do this or if it is even possible. (see image 3)
Please note I also tried User Federation with the LDAP behind OpenAM and it worked correctly, but I would like to know if there is a way to do it via OpenAM.
The way you used keycloak and openam is quite unusual, however if i understand correctlly your question, you want keycloak to redirect the webservice request to openam, not ldap,
You can either:
configure openam as a identity provider using saml:
Openam would be your source of identity, and keyclaok would be his clients, you can do this by configuring keycloak: identity provider -> saml IDP -> and here you will place openam metadata.
configure openam as OIDC provider:
In keycloak you go to identity providers -> create -> oidc v1 provider -> and you will place your openam info.
As i said, its can be done, but its not the way its suppossed to be, openam and keycloak are both Access management software, they both do exactly the same thing, in your configuration keycloak play a role of an API gateway, which is not exactly what keycloak should be doing, you can get get rid of either one of the solutions, both can provide you the same functionnalities (OIDC, OAuth2, SAML, LDAP, ...)

How to configure a SAML 2.0 service provider for an ADF application

I have successfully configured a SAML 2.0 Identity provider in a separate Weblogic domain
We have an ADF application deployed in Weblogic in another domain with non-SAML form-based authentication (ReadOnlySQLAuthenticator is used to verify credentials)
I want to configure the second domain as a Service Provider (to enable the existing application to login with the Identity provider.
I did the folowing:
Configure a SAML 2.0 Identity Asserter
Enable the Service Provider in the federated services for the server
Add and enable the "service provider partners" and exchange metadata on both IDP and SP side
Configure the "redirect URI" on the SP side
Add the SAML 2.0 Authenticator (the documentation doesn't mention this, but some blogs do)
This should be enough to make the SSO work, but it doesn't.
opening the application doesn't trigger a redirect to the IDP (even when the URL is configured in the provider partner config)
after logging into the application, other applications still have to log in with the IDP (SSO doesn't work)
The "other application" is the Spring SAML sample application and I verified that SSO works with 2 different instances of that app (which means the IDP side should be configured correctly).
We've had some Oracle experts come over to our company to solve various issues.
In the end even they could't help with this and suggested that SAML support may not really work that well.
They suggested that we try to use Oracle Access Manager, that's supposed to support both OAUTH and SAML. We didn't get to that yet and maybe never will.
Still if you need SSO in Weblogic, you could give it a go.

WSO2 IDS: Can I add third party's IDS as my Trusted Identity Provider, if so how?

We are using WSO2 Identity server for our product. As for as our applications are concerned, we're authenticating the users with the IDS. We now want to integrate with third party product. And we suggested them also to use WSO2 IS for their identity service [auth/auth]
When I send a request to third party application, their application should authenticate our application request and accept the request. Can they add our identity provider as their trusted authentication provider, and that would help the user request getting authenticated against our identity source?
Is this possible? If so, please point me to sample where it is done!
Yes. It can be done in different ways. As an example, Your 3rd party application is a liferay, You can use WSO2IS as openid provider. Because liferay allows to login to it portal using openid. Else your 3rd party application supports for SAML2 sso, WSO2IS can be used as SAML2 SSO provider. If 3rd party app, is IIS hosted application, you can use Passive-STS.
Also, if 3rd party application does not support any common standard, there may be extensions that can be used to extent their authentication mechanism. If that case, you can write extension to 3rd party application, to call WSO2IS API. Because all APIs are web service APIs.
You can find more detail of integration
[1] OPENID : http://www.soasecurity.org/2010/08/sign-up-with-openid-providered-by.html
[2] SSO : http://tanyamadurapperuma.blogspot.com/2013/09/configure-wso2-identity-server-saml2.html

Import users from ADFS to openam

How to import users from ADFS server to openam. I refered this doc
https://wikis.forgerock.org/confluence/display/openam/OpenAM+and+ADFS2+configuration
where they are saying users which are present on ADFS server must be present on openam.But if
I have thousand of users created on ADFS then can't create them manually on openam.so is
there any way to import the users from adfs server to openam either by accessing openam url
i.e through openam GUI or from java app.
Thanks,
OK - that document is confusing.
The difference between the IP and the SP is that only the IP has a credential store (AD in this case).
So the users only have to exist in AD.
If you look at the diagram, there is no credential store in Network A.
That's the whole point of federation.
Update:
Apologies - I seem to have confused some people.
That article refers to Account Linking but as per Using AD FS 2.0 for interoperable SAML 2.0-based federated Web Single Sign-On:
"AD FS 2.0 does not support the account linking scenario. Such a scenario can still be achieved in some ways with an appropriate incoming policy."
For federation, there's a good article here:
ForgeRock OpenAM 9.5.3 and AD FS 2.0 Integration : Part 1
but note that this looks at using OpenAM as a SAML 2.0 Identity Provider (IdP) and AD FS 2.0 as a SAML 2.0 Service Provider (SP).
There are three parts to this article - all in the blog.
Actually OpenAM does not store user accounts, they are stored in a so called Identity Repository (currently mostly used is an LDAP Directory Server, RDBMS has some issues yet).
You could retrieve the data from AD and import it in the Identity Repository.
However if you own ADFS and OpenAM why don't you let OpenAM consume the identities from AD by configuring it as an Identity Repository? You may search on the openam user alias ... plenty of explanations there.
About SP and IdP ... users are only AUTHENTICATED at the IdP but the user may exist under a different account on the SP side. Part of Federation/SAML is 'account linking' (not only single sign on) so identities (user accounts) can exist on SP and IdP side