Windows Azure AppFabric Access Control Service (ACS) v2 – Programmatically Adding OpenID as an Identity Provider Using Management Service

Adding OpenID as identity provider using Windows Azure AppFabric Access Control Service (ACS) v2 Management Service is in general similar to the procedures outlined in the following posts:

The key differences are as follows:

  • Change protocol type to OpenID
 // Create Identity Provider
IdentityProvider identityProvider = new IdentityProvider()
{
    DisplayName = identityProviderName,
    Description = identityProviderName,
    WebSSOProtocolType = "OpenId",
    IssuerId = issuer.Id
};
svc.AddObject("IdentityProviders", identityProvider);

  • Remove code related to IdentityProviderKey altogether
  • Update sign in address as per your OpenID provider
 IdentityProviderAddress signInAddress = new IdentityProviderAddress()
{
    Address = "https://www.myopenid.com/server",
    EndpointType = "SignIn",
    IdentityProvider = identityProvider,
};
svc.AddRelatedObject(identityProvider, "IdentityProviderAddresses", signInAddress);

  • Another caveat is when creating rules using Management Portal – you cannot auto generate rules. Instead, create manually at least one pass through rule so that all incoming claims from your OpenID provider will be available. Failure to create at least one rule will result in failure to generate a security token by ACS v2.