summaryrefslogblamecommitdiffstats
path: root/src/web_service/verify_login.cpp
blob: ceb55ca6bb670fdb0659daefa2d364c023b46eb0 (plain) (tree)
1
2
3
4
5
6
7
8



                                            
                            

                                     
                                   



















                                                                                                  
// Copyright 2017 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.

#include <nlohmann/json.hpp>
#include "web_service/verify_login.h"
#include "web_service/web_backend.h"
#include "web_service/web_result.h"

namespace WebService {

bool VerifyLogin(const std::string& host, const std::string& username, const std::string& token) {
    Client client(host, username, token);
    auto reply = client.GetJson("/profile", false).returned_data;
    if (reply.empty()) {
        return false;
    }
    nlohmann::json json = nlohmann::json::parse(reply);
    const auto iter = json.find("username");

    if (iter == json.end()) {
        return username.empty();
    }

    return username == *iter;
}

} // namespace WebService