// POST api/ValidateSsoToken
        /// <summary>
        /// Validates an Exchange user identity token
        /// </summary>
        /// <param name="token">The SSO token as obtained via Office.context.auth.getAccessTokenAsync</param>
        public async Task <SsoTokenValidationResult> Post([FromBody] string token)
        {
            string        expectedAudience = ConfigurationManager.AppSettings["ida:AppId"];
            AddInSsoToken ssoToken         = new AddInSsoToken(token);

            var result = await ssoToken.Validate(expectedAudience);

            return(result);
        }
Beispiel #2
0
        private string getUserName(string accessToken)
        {
#if DEBUG
            if (accessToken == "me")
            {
                return("david");
            }
#endif

            AddInSsoToken ssotoken = new AddInSsoToken(accessToken);

            string expectedAudience = ConfigurationManager.AppSettings["ida:Audience"];

            System.Threading.Tasks.Task <SsoTokenValidationResult> task = System.Threading.Tasks.Task.Run <SsoTokenValidationResult>(async() => await ssotoken.Validate(expectedAudience));
            return(task.Result.PreferredName);
        }
Beispiel #3
0
        protected async System.Threading.Tasks.Task <string> GetUser()
        {
            var re   = Request;
            var auth = re.Headers.Authorization;

#if DEBUG
            if (auth.Parameter == "me")
            {
                return("david");
            }
#endif

            AddInSsoToken ssotoken = new AddInSsoToken(re.Headers.Authorization.Parameter);

            string expectedAudience = ConfigurationManager.AppSettings["ida:Audience"];
            var    tt = await ssotoken.Validate(expectedAudience);



            return(tt.PreferredName);
        }