public void LoginWithIdentityProvider(object sender, EventArgs e) { XmlDocument xDoc = new XmlDocument(); xDoc.PreserveWhitespace = true; xDoc.Load(Assets.Open("idp.symplified.net.metadata.xml")); Saml20MetadataDocument idpMetadata = new Saml20MetadataDocument(xDoc); Saml20Authenticator authenticator = new Saml20Authenticator( "Symplified.Auth.Android.Sample", idpMetadata ); authenticator.Completed += (s, ee) => { if (!ee.IsAuthenticated) { this.authenticationStatus.Text = "Not authorized"; } else { SamlAccount authenticatedAccount = (SamlAccount)ee.Account; this.authenticationStatus.Text = String.Format("Subject: {0}", authenticatedAccount.Assertion.Subject.Value); } }; var intent = authenticator.GetUI(this); StartActivityForResult(intent, 42); }
public void PerformSalesforceOAuthSaml2Grant() { XmlDocument xDoc = new XmlDocument(); xDoc.PreserveWhitespace = true; xDoc.Load("salesforce-oauthsaml2-idp-metadata.xml"); Saml20MetadataDocument idpMetadata = new Saml20MetadataDocument(xDoc); Saml20Authenticator authenticator = new Saml20Authenticator( "Symplified.Auth.iOS.Sample", idpMetadata ); authenticator.Completed += (s, e) => { loginViewController.DismissViewController(true, null); if (!e.IsAuthenticated) { samlLoginStatusStringElement.Caption = "Not authorized"; samlLoginStatusStringElement.GetActiveCell().BackgroundColor = UIColor.Red; } else { SamlAccount authenticatedAccount = (SamlAccount)e.Account; samlLoginStatusStringElement.Caption = authenticatedAccount.Assertion.Subject.Value; samlLoginStatusStringElement.GetActiveCell().BackgroundColor = UIColor.Green; authenticatedAccount.GetBearerAssertionAuthorizationGrant( new Uri("https://login.salesforce.com/services/oauth2/token") ).ContinueWith(t => { if (!t.IsFaulted) { accessTokenStringElement.Caption = t.Result ["access_token"]; scopeStringElement.Caption = t.Result ["scope"]; BeginInvokeOnMainThread(delegate { loginViewController.ReloadData(); ListSalesforceResources(t.Result ["instance_url"], t.Result ["access_token"]); }); } else { Console.WriteLine("error"); } }); } loginViewController.ReloadData(); }; UIViewController vc = authenticator.GetUI(); loginViewController.PresentViewController(vc, true, null); }
public void LoginWithIdentityProvider() { XmlDocument xDoc = new XmlDocument(); xDoc.PreserveWhitespace = true; xDoc.Load("idp.symplified.net.metadata.xml"); Saml20MetadataDocument idpMetadata = new Saml20MetadataDocument(xDoc); Saml20Authenticator authenticator = new Saml20Authenticator( "Symplified.Auth.iOS.Sample", idpMetadata ); authenticator.Completed += (s, e) => { loginViewController.DismissViewController(true, null); if (!e.IsAuthenticated) { samlLoginStatusStringElement.Caption = "Not authorized"; samlLoginStatusStringElement.GetActiveCell().BackgroundColor = UIColor.Red; } else { SamlAccount authenticatedAccount = (SamlAccount)e.Account; samlLoginStatusStringElement.Caption = String.Format("Name: {0}", authenticatedAccount.Assertion.Subject.Value); samlLoginStatusStringElement.GetActiveCell().BackgroundColor = UIColor.Green; } loginViewController.ReloadData(); }; vc = authenticator.GetUI(); loginViewController.PresentViewController(vc, true, null); }