Dynamics 365 Authentication - dynamics-crm

Microsoft Dynamics 365 supports three security models for authentication: Claims-based authentication, Active Directory authentication, and OAuth 2.0.
I've managed to implement the Active Directory authentication which is based on Oath2.0. What might be the difference between Active Directory authentication and Oath 2.0 and How can I configure OAuth 2.0 security for Dynamics 365. I don't have so much knowledge about Oath or Active Directory.

Based on my understanding, one benefit of using OAuth is that your application can support multi-factor authentication.
You can refer the links below about the detail between OAuth and Active Directory and claims-based authentication:
Connect to Microsoft Dynamics 365 web services using OAuth
Active Directory and claims-based authentication
What did you mean OAuth 2.0 security for Dynamics 365?

Related

I want to integrate Dynamics CRM with Postman without AAD registration

I want to integrate Dynamics CRM with Postman with the help of username and password and without Azure AD registration.
It is purely dependent on your environment. If it is CRM online or IFD then OAuth is the only choice. The documentation says “must”. Read more
When you use the Web API for Customer Engagement or an on-premises Internet-facing deployment (IFD) you must use OAuth as described in Use OAuth with Dataverse.
If it is on-premise then you have to use username/password. Read more
When you use the Web API for on-premises deployments you must include the user’s network credentials.
In case if you are having difficulty with AAD App registration - then you can use the example readymade client Id in documentation for development purpose. Read more

how to configure user in ADFS to be able to access CRM

I am trying to follow this post to let my web application authenticate with ADFS before calling CRM.
Apache CXF client for claims-mode xRM (Microsoft Dynamics CRM 2011)?
I am not sure what kind of user I should create in ADFS in order to access CRM. What is the proper permission or user roles?
Also UserNameWSTrustBinding_IWSTrust13Async policy uses this endpoint https://yourcompany.com/adfs/services/trust/13/UsernameMixed
Do I need to disable this endpoint to make my app work? It was mentioned here the endpoint needs to be disabled.
https://community.dynamics.com/crm/f/microsoft-dynamics-crm-forum/144495/the-authentication-endpoint-username-was-not-found-on-the-configured-secure-token-service

Identity Server as part of Web API or separate app

I have an ASP.NET Core Web API app and to secure it, I've implemented JWT Bearer authentication. The next step is managing user access and issuingJWT token.
Initially I considered using Azure AD B2C but it doesn't seem to support my business requirements. So I'm now considering using Identity Server 4.
Is Identity Server 4 run as a completely separate application? Also, am I understanding it correctly that it is used as:
A web interface for users to register and login
Also a web app with API that issues the JWT token
In other words, does Identity Server 4 "act" as my own Azure AD B2C service?
IdentityServer 4 is a Web app (Login & Logout pages) with an API that implements the OAuth 2.0 and OpenID Connect specifications. The samples provide a simple user login and logout views that you can change to your liking.
Regarding the user registration process, you may add that to your IdentityServer4 implementation or have that as a separate web application.
Similarities to Azure AD B2C
This came from another blog article
Authorization
Azure AD B2C allows you to model user roles as membership in groups
that you define. You can’t currently get a token containing those
claims, but you can use the Azure AD Graph API as a workaround to
retrieve the group memberships, and use them in authorization checks
inside your application. It’s a little tricky right now, but
improvements to this are on the B2C team’s roadmap.
API Authentication
Azure AD B2C can provide tokens for authenticating API access via
OpenID Connect, but beyond that the functionality is limited. The
OAuth 2.0 Client Credentials flow isn’t supported, and B2C doesn’t
include any API key management features, so you’ll need to roll your
own code if your services need to support API key authentication.
Another article with PROS for IdentityServer4.
IdentityServer 4 is an authentication framework capable of out of the
box Single Sign On (SSO) and security for your APIs, and most recently
support for implementing your own authentication protocols and tokens,
with a sample implementation for the WS-Federation protocol and SAML
tokens. SSO works across all applications regardless of whether they
are using OpenID Connect or WS-Federation.
Summary
IdentityServer4 is similar to Azure AD B2C with more functionality as noted in the linked articles.

CRM 2016:Using Web API for CRM IFD to connect CRM Web Service

I'm new to Web API and trying to build a CRM Web Service application with C# by using Web API. Here is the sample code I'm using: C# application which authenticates against Azure AD using ADAL and communicates with Dynamics CRM.
This code works perfectly for AD authentication on premise CRM environment. But my environment is IFD, which means I have to use OAuth. it says method calls to the web services must be authorized with the identity provider for that service endpoint. However all the example point to Microsoft Azure Active Directory. but for real case, do we have to register a CRM app with Azure Active Directory?
Then how can I define the 'Client ID', 'RedirectUrl', 'Authority' in my code, where is my endppoint? We're using ADFS authentication.
Can anyone share some sample codes for this?
Thanks.

MSCRM 2011 SiteMinder ADFS

I am new to MSCRM trying to adopt its security model and integrate with our existing applications. Need a clear understanding with respect to integration between MSCRM system and our existing applications.
Our current application is uses SiteMinder for authentication, business need is to integrate MSCRM from this application without login challenge again. After going through the claim based authenticaiton, ADFS 2.0, ADFS with SiteMinder documentation, some basic questions,
--> can MSCRM work if federated with ADFS SiteMinder ?
--> If so, how the user setup will work in MSCRM ?
Can any body done these MSCRM - ADFS - SiteMinder integration ? i could find the disjoint documentation ADFS - Siteminder, MSCRM - ADFS, but not so sure if relying application (MSCRM) will work with SiteMinder tokens.
Any suggestions appretiated.
The big question would be if what SAML Defaults your Siteminder is providing.
Setup would be simliar to ADFS 2.0 install the certificate from siteminder on the CRM Server to make him beable to proof the token and tell CRM where it can download the federationmetadata file from siteminder.

Resources