Skip to content

Instantly share code, notes, and snippets.

View sandrinodimattia's full-sized avatar
🏠
Working from home

Sandrino Di Mattia sandrinodimattia

🏠
Working from home
View GitHub Profile
@sandrinodimattia
sandrinodimattia / gist:2964558
Created June 21, 2012 08:21
e-Contract Claims
schemas.xmlsoap.org/ws/2005/05/identity/claims/name
schemas.microsoft.com/ws/2008/06/identity/claims/role
schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress
schemas.xmlsoap.org/ws/2005/05/identity/claims/locality
schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode
schemas.xmlsoap.org/ws/2005/05/identity/claims/gender
schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth
@sandrinodimattia
sandrinodimattia / gist:2964562
Created June 21, 2012 08:22
Disable request validation mode
<httpRuntime requestValidationMode="2.0"/>
@sandrinodimattia
sandrinodimattia / gist:2964563
Created June 21, 2012 08:22
Redirect after e-Contract logon
protected void Application_Start()
{
...
FederatedAuthentication.ServiceConfigurationCreated += OnServiceConfigurationCreated;
}
private void OnServiceConfigurationCreated(object sender, ServiceConfigurationCreatedEventArgs e)
{
FederatedAuthentication.WSFederationAuthenticationModule.SignedIn += new EventHandler(WSFederationAuthenticationModule_SignedIn);
}
private ClaimCollection GetClaims()
{
var claimsPrincipal = Thread.CurrentPrincipal as IClaimsPrincipal;
var claimsIdentity = (IClaimsIdentity)claimsPrincipal.Identity;
return claimsIdentity.Claims;
}
private string GetClaimValue(ClaimCollection claims, string claim)
{
var claimRecord = claims.FirstOrDefault(o => o.ClaimType == claim);
@sandrinodimattia
sandrinodimattia / gist:2964569
Created June 21, 2012 08:24
Display e-Contract claims
public ActionResult Display()
{
var claims = GetClaims();
var user = new UserInfo();
user.NameIdentifier = GetClaimValue(claims, "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier");
user.Name = GetClaimValue(claims, "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name");
user.StreetAddress = GetClaimValue(claims, "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress");
user.Nationality = GetClaimValue(claims, "be:fedict:eid:idp:nationality");
user.POB = GetClaimValue(claims, "be:fedict:eid:idp:pob");
@sandrinodimattia
sandrinodimattia / gist:2964574
Created June 21, 2012 08:24
Display e-Contract picture
<img style="float: right;" src="/Account/Photo" alt="" width="140" height="200" />
@sandrinodimattia
sandrinodimattia / gist:2964576
Created June 21, 2012 08:25
Rendering e-Contract photo
public ActionResult Photo()
{
var photo = GetClaims().FirstOrDefault(o => o.ClaimType == "be:fedict:eid:idp:photo");
if (photo != null)
{
var stream = new MemoryStream(Convert.FromBase64String(photo.Value));
return new FileStreamResult(stream, "image/jpg");
}
else
{
@sandrinodimattia
sandrinodimattia / gist:3147332
Created July 19, 2012 22:33
Disable Request Validation
<system.web>
<pages validateRequest="false" >
...
</pages>
<!-- For .NET 4.0 -->
<httpRuntime requestValidationMode="2.0" />
</system.web>
using System;
using System.Web;
using System.Web.Util;
using Microsoft.IdentityModel.Protocols.WSFederation;
namespace Sandrino.SomeAzureApplication
{
public class AccessControlRequestValidator : RequestValidator
{
@sandrinodimattia
sandrinodimattia / gist:3147359
Created July 19, 2012 22:39
Set Custom RequestValidationType
<system.web>
<httpRuntime requestValidationType=
"Sandrino.SomeAzureApplication.AccessControlRequestValidator"/>
</system.web>