示例#1
0
        public async Task <JsonResult> PostGoogle([FromBody] TokenRequest data)
        {
            var        userID      = -1;
            var        isValidated = false;
            JsonResult response;

            if (!string.IsNullOrWhiteSpace(data?.GoogleToken) && !string.IsNullOrWhiteSpace(data.Email))
            {
                userID = await authManager.VerifyGoogleUserAsync(data.ToUser(), data.GoogleToken);

                isValidated = userID >= 0;
            }

            if (isValidated)
            {
                var result = await authManager.GenerateTokenAsync(userID, data.DeviceID);

                response = CreateResponse(result);
            }
            else
            {
                response = CreateErrorResponse(HttpStatusCode.Unauthorized, "InvalidCredentials", /*Resources.errLogin_General*/ "A general error has occured.");
            }

            return(response);
        }