*Introduction:*

Suppose someone has an ASP.NET web application or else he/she is going to
create a new one. One of your major concerns would be to provide a secure
mechanism for handling user authentication and authorization.

With the introduction of this SAML Agent, you can easily incorporate this
agent into your ASP.NET web application and it will take care of all the
things related to SAML authentication mechanism.

*Solution Architecture:*


*Note: 2,7,8,3 of the above diagram denotes the resolving of the current
request of interest.*

The above diagram depicts the architecture for the .NET SAML agent. The
agent is designed in such a way that all the requests that are coming to
the ASP.NET web application will be directed to the *FilteringHttpModule*.
This *FilteringHttpModule* is a  class that implements the
*IHttpModule *interface
(i.e. a custom HTTP handler). And this *FilteringHttpModule* is responsible
for handling the SAML authentication related request. It will call the
relevant method of *SAMLManager *class to process the request.

*How to incorporate Agent into a given ASP.NET <http://ASP.NET> web
application:*

This agent is developed in a way such that it has minimum possible
dependencies on the ASP.NET web application. Hence, when someone wants to
incorporate SAML authentication into his/her ASp.NET web app, that could be
done with a minimum effort.

Following is the list of items to configure SAML Agent for a given ASP.NET
web application.

The process of incorporating *SAML authentication with wso2 identity server*
via SAML agent can be explained in few steps as follows.

   1.

   *Add* - the agent.dll reference to your Asp.NET web application(You can
   get this via NuGet package manager or else from the git repo)
   2.

   *Configure* - the mandatory properties in your ASP.NET web application’s
   web.config file. Furthermore, you have to get the .jks from the wso2
   Identity Server you are using and convert it to a *pkcs* using
   keytool.(Or else use your own pkcs12). Add the .pfx / .p12 to the Local
   Machine Certificate Store.
   3.

   *Register* - the “FilteringHttpModule” in your ASP.NET web application
   to handle the requests related to SAML authentication mechanism.
   4.

   *Set* - your application’s login controls to refer SAML intensive
   segments. That is, suppose you have a login link in your web application.
   All you have to do is set the attribute, href = “/samlsso”.



Link to the Repo: https://github.com/chirankavinda123/saml-sso-agent-DOT-NET
<https://github.com/chirankavinda123/saml-sso-agent-DOT-NET>
Any suggestion/recommendation to improve this agent's architecture would be
much appreciated.

Thank you.
-- 
*Chiran Wijesekara*


*Software Engineering Intern | WSO2*Email: [email protected]
Mobile: +94712990173web: www.wso2.com

[image: https://wso2.com/signature] <https://wso2.com/signature>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to