Is it possible to achieve Single sign-on with Keycloak having AD FS as identity provider? - single-sign-on

I have integrated my angular app to allow users to login through their AD account. I have followed this article for the integration of AD FS with Keycloak.
I have integrated SSO with AD FS without Keycloak in past. Now I am unable to figure out how to achieve SSO when Keycloak is added in between the angular app and ADFS. I am always prompted for my AD username/password even though I have already signed in to another application webpage using the same AD account in a browser.
I want to know how to achieve SSO in this context and whether it is even possible to have SSO in such cases.

Related

OKTA SAML login not working for public user

I have successfully implement okta login in my django app and it is working fine.
I have created okta account with xyz#gmail.com and i can successfully login to django app with that okta account and the same okta accout i have created okta and got the saml info.
But the problem is, when i try to login with another okta account, it doesnt work.
i have updated app assignment Group everyone, yet not working
Can anyone tell me what is the issue?

Azure AD B2C reuses previous user's token after logout when user changes

We have an application that uses MSAL.js to authenticate customers to their Azure Active Directories via Active Directory B2C. In the future we will introduce other IDPs in the mix and connect them to the B2C as well. B2C is configured via custom policies. SSO session scope is currently set to Tenant.
The issue is that when user logs out of the application (and we call MSAL.js logout) I can see their ID and Access tokens are gone from the browser Local Storage, but they are are still logged in to their Azure AD because of other apps using it. So next time they login to the app B2C will not prompt them for credentials and automatically sign them in as long as they have AAD session active. I understand this is by design for B2C to support SSO, and we want SSO. However is there a way for a new user with different credentials to login fresh after the previous user logs out in the same browser session?
Set the prompt param to login. EG:
GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize? prompt=login
Or using MSAL.js:
var request = {
prompt: 'login',
}
userAgentApplication.loginRedirect(request);

On Premise Active Directory Federation Server - Application Groups

I do not see [Application Groups] folder in my ADFS. How can I install it to see it in my AD FS Management?
I want my WEB API(REST) project to connect to ADFS for authentication. Additionally, I want to test my REST API Authentication without a login screen, please help in this as well. My API will be consumed by CRM users, who are already connected to ADFS. Now the requirement is to create an REST API which will be hit by CRM users and CRM user will pass a userid and password which will be authenticated by ADFS internally without login screen. How can I do that?
Any help please.
Thanks
Application Groups are only available in Server 2016 and 2019. They are available in the ADFS wizard by default.
In terms of sample code for calling API, have a look here.

Build Security Token Service (STS) application in ASP.NET for SSO

I have created a new ASP.NET web site using VS 2017 and changed the Authentication mechanism to use "Individual User Accounts". This adds the Claims Principal or WIF class support.I can click on register / log in, and set up user emails and then check for the claims for that user. I will also be using Server Session Authentication Management (SAM) to save claims on the server and do some claims transformation as well.
After Login, this site calls a winform application, and after some activity I return back to the above website.
I want to know how can I use SSO logic here and check if I am already Authenticated and access my claims saved at the server side / website and authenticate the user based on the saved claims.
Is there some project or code example anyone can give which i can use as a start to develop such a STS service (in VS 2017) with SSO and access my claims on website after coming from another domain?
The identity and access tools used to work only with VS 2012, so any way to replicate the above scenario and check for my saved claims after I hit my website from the winform application.
There's a good example here of using WS-Fed with Azure AD.
This is easily adaptable to ADFS.
Your other choice is to use ADAL.

Keycloak AD FS login without user interaction

I'm working with Keycloak 3.4.3
I'm following this post https://www.keycloak.org/2017/03/how-to-setup-ms-ad-fs-30-as-brokered-identity-provider-in-keycloak.html to configure my application to login with AD FS with SAML protocol.
My setup is an Angular 5 UI using the keycloak-js adapter. When the app starts I launch Keycloak.init({ onLoad: 'login-required'}) method for making the Keycloak login page appear. right now I'm able to login using email and password or by clicking the SAML SSO button and login through the AD FS login page.
What do I want to do? I want Keycloak to trigger the SAML SSO before showing the login screen, I mean, if in my pc I'm logged with and AD FS account I want Keycloak to log me in directly with this account and only get me to the login page if I'm not a member of the AD FS so I'm could be able to login via email and password.
Regards
It's possible to use GET request with kc_idp_hint param, and trigger SSO workflow manually:
GET /myapplication.com?kc_idp_hint=facebook HTTP/1.1
Host: localhost:8080
https://www.keycloak.org/docs/1.9/server_admin_guide/topics/identity-broker/suggested.html