예제 #1
0
        public async Task <APIResult <ResponseAuthenticate, JsonError> > AsyncRefreshTokens(UserCredentials user)
        {
            // Prepare JSON payload & local variables
            string json = JsonUtility.ToJson(new RefreshPayload(user.GetRefreshToken()));

            try {
                string response = await rs.PerformAsyncPost(refreshEndpoint, json);

                ResponseAuthenticate tokens = JsonUtility.FromJson <ResponseAuthenticate>(response);

                // Return APIResult:ResponseAuthenticate in success case
                return(new APIResult <ResponseAuthenticate, JsonError>(tokens));
            } catch (WebException e) {
                // Retrieve error payload from WebException
                JsonError error = JsonUtility.FromJson <JsonError>(retrieveErrorJson(e));

                // Return APIResult:JsonError in error case
                return(new APIResult <ResponseAuthenticate, JsonError>(error));
            }
        }
예제 #2
0
        public async Task <APIResult <UserCredentials, JsonError> > AsyncAuthenticateUser(UserCredentials user)
        {
            validateUsernamePassword(user.GetUsername(), user.GetPassword());

            // Prepare JSON payload & local variables
            string json = JsonUtility.ToJson(new PayloadAuthenticate(user));

            try {
                string response = await rs.PerformAsyncPost(authenticateEndpoint, json);

                ResponseAuthenticate tokens = JsonUtility.FromJson <ResponseAuthenticate>(response);

                // Return APIResult:UserCredentials in success case
                return(new APIResult <UserCredentials, JsonError>(
                           new UserCredentials(user.GetUsername(), user.GetPassword(), tokens.access, tokens.refresh)
                           ));
            } catch (WebException e) {
                // Retrieve error payload from WebException
                JsonError error = JsonUtility.FromJson <JsonError>(retrieveErrorJson(e));

                // Return APIResult:JsonError in error case
                return(new APIResult <UserCredentials, JsonError>(error));
            }
        }