public async Task <ActionResult> Index() { var authCode = HttpContext.Request.Form["code"]; var webUrl = string.Format("{0}/", Request.Url.GetLeftPart(UriPartial.Authority)); if (!String.IsNullOrEmpty(authCode)) { IEnumerable <Contact> contacts = await ContactsAPISample.GetContacts(webUrl, authCode); ViewBag.Contacts = contacts; } else { var adAuthority = "https://login.microsoftonline.com"; var scope = "Contacts.Read openid email profile offline_access"; var clientId = ConfigurationManager.AppSettings["ida:ClientID"]; string authorizationRequest = String.Format( "{0}/common/oauth2/v2.0/authorize?response_type=code&response_mode=form_post&client_id={1}&redirect_uri={2}&scope={3}&state={4}", adAuthority, Uri.EscapeDataString(clientId), Uri.EscapeDataString(webUrl), scope, Uri.EscapeDataString(Guid.NewGuid().ToString()) ); return(Redirect(authorizationRequest)); } return(View()); }
public async Task <ActionResult> Index() { try { IEnumerable <IContact> contacts = await ContactsAPISample.GetContacts(); ViewBag.Contacts = contacts; } catch (RedirectRequiredException x) { return(Redirect(x.RedirectUri.ToString())); } return(View()); }