Каков рекомендуемый способ хранения ключей и секретов API в приложении UWP?

Для приложения UWP в качестве рекомендуемого механизма для хранения секретов, которые необходимо развернуть с помощью приложения, таких как ключи API и секретные маркеры? Для пользовательских токенов auth PasswordVault имеет смысл, но я не вижу способа установить их как часть развертывания приложения. До сих пор я их встроил в приложение, которое не кажется "правильным" или безопасным.

Ответ 1

Вы можете использовать PasswordCredential api, фрагмент кода:

string CredentialsName = "testing";
private PasswordCredential GetCredentialFromLocker()
{
    PasswordCredential credential = null;

    var vault = new PasswordVault();
    IReadOnlyList<PasswordCredential> credentialList = null;
    try
    {
        credentialList = vault.FindAllByUserName(Username);
    }
    catch
    {
        return credential;
    }
    if (credentialList.Count > 0)
    {
        credential = credentialList[0];
    }

    return credential;
}

public void CreatePassword(string password, string username)
{
    var vault = new PasswordVault();
    vault.Add(new PasswordCredential(CredentialsName, username, password));

}