Ueberauth ADFS v0.1.0 Ueberauth.Strategy.ADFS.OAuth View Source

OAuth2 for ADFS

In ADFS >=3.0 setup a new Client using Powershell:

Add-AdfsClient -Name "OAUTH2 Client" -ClientId "unique-custom-client-id" -RedirectUri "http://localhost:4000/auth/adfs/callback"
Add-ADFSRelyingPartyTrust -Name "OAUTH2 Client" -Identifier "http://localhost:4000/auth/adfs"
Set-AdfsRelyingPartyTrust -IssuanceAuthorizationRulesFile "TransformRules.txt"

In TransformRules.txt put the following:

@RuleTemplate = "LdapClaims"
@RuleName = "User Details"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "groups", "userPrincipalName"), query = ";sAMAccountName,givenName,sn,mail,tokenGroups,userPrincipalName;{0}", param = c.Value);

Add adfs_url and client_id to your configuration:

config :ueberauth, Ueberauth.Strategy.ADFS.OAuth,
  adfs_url: System.get_env("ADFS_URL"),
  client_id: System.get_env("ADFS_CLIENT_ID")

Link to this section Summary

Link to this section Functions

Link to this function authorize_url(client, params) View Source
Link to this function authorize_url!(params \\ [], opts \\ []) View Source
Link to this function get_token(client, params, headers) View Source
Link to this function send_token_request(params \\ [], opts \\ []) View Source
Link to this function signout_url(params \\ %{}) View Source