本文整理汇总了C#中Windows.Security.Credentials.PasswordVault.FindAllByResource方法的典型用法代码示例。如果您正苦于以下问题:C# PasswordVault.FindAllByResource方法的具体用法?C# PasswordVault.FindAllByResource怎么用?C# PasswordVault.FindAllByResource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Windows.Security.Credentials.PasswordVault
的用法示例。
在下文中一共展示了PasswordVault.FindAllByResource方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnNavigatedTo
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
PasswordVault vault = new PasswordVault();
try
{
var credentials = vault.FindAllByResource("creds");
if (credentials.Any())
{
var credential = credentials.First();
Username.Text = credential.UserName;
credential.RetrievePassword();
Password.Password = credential.Password;
Login(null, null);
}
}
catch
{
// no credentials present, just ignore
}
if (e.Parameter != null)
{
Username.Text = e.Parameter.ToString();
}
}
示例2: login
public async Task<bool> login()
{
Frame rootFrame = Window.Current.Content as Frame;
PasswordVault vault = new PasswordVault();
PasswordCredential cred = null;
try
{
if (vault.FindAllByResource("email").ToString() != null)
{
cred = vault.FindAllByResource("email")[0];
cred.RetrievePassword();
return await this.LoginWithEmail(cred.UserName.ToString(), cred.Password.ToString());
}
}
catch (Exception)
{ }
try
{
if (vault.FindAllByResource("facebook").ToString() != null)
{
cred = vault.FindAllByResource("facebook")[0];
cred.RetrievePassword();
return await LoginWithFacebook();
}
}
catch (Exception)
{
return false;
}
return false;
}
示例3: SaveCredentialToLocker
public static void SaveCredentialToLocker(MobileCredentials mobileCredentials)
{
// clean up
var vault = new PasswordVault();
try
{
var credentialList = vault.FindAllByResource(ResourceName);
foreach (var passwordCredential in credentialList)
{
vault.Remove(passwordCredential);
}
}
// ReSharper disable once EmptyGeneralCatchClause
catch (Exception)
{
}
var credential = new PasswordCredential
{
Resource = ResourceName,
UserName = mobileCredentials.MobileNumber,
Password = mobileCredentials.Password
};
vault.Add(credential);
}
示例4: Get
public VaultCredential Get(string domain)
{
var vault = new PasswordVault();
var credential = vault.FindAllByResource(domain).FirstOrDefault();
credential.RetrievePassword();
return new VaultCredential(credential.Resource, credential.UserName, credential.Password);
}
示例5: CheckPreviousAuthentication
public void CheckPreviousAuthentication()
{
PasswordCredential credential = null;
var settings = ApplicationData.Current.RoamingSettings;
var lastUsedProvider = settings.Values[LastUsedProvider] as string;
if (lastUsedProvider != null)
{
try
{
var passwordVault = new PasswordVault();
// Try to get an existing credential from the vault.
credential = passwordVault.FindAllByResource(lastUsedProvider).FirstOrDefault();
}
catch (Exception)
{
// When there is no matching resource an error occurs, which we ignore.
}
}
if (credential != null)
{
this.MobileService.User = new MobileServiceUser(credential.UserName);
credential.RetrievePassword();
this.MobileService.User.MobileServiceAuthenticationToken = credential.Password;
this.OnNavigate?.Invoke(Tasks, null);
}
}
示例6: TryGetToken
public static bool TryGetToken(string resourceName, out TokenCredential tokenCredential)
{
var vault = new PasswordVault();
tokenCredential = null;
try
{
var creds = vault.FindAllByResource(resourceName);
if (creds != null)
{
var credential = creds.First();
credential.RetrievePassword();
var json = JsonObject.Parse(credential.Password);
tokenCredential = new TokenCredential
{
AccessToken = json["access_token"].GetString(),
TokenType = json["token_type"].GetString(),
};
double expiresIn = json["expires_in"].GetNumber();
var dt = ((long)expiresIn).ToDateTimeFromEpoch();
tokenCredential.Expires = dt;
return true;
}
}
catch
{ }
return false;
}
示例7: GetSecretFor
public string GetSecretFor(string name)
{
var vault = new PasswordVault();
try
{
if (vault.RetrieveAll().Count == 0)
{
return "";
}
var credentialList = vault.FindAllByResource(_key);
return credentialList
.Where(x => x.UserName == name)
.Select(x =>
{
x.RetrievePassword();
return x.Password;
})
.FirstOrDefault();
}
catch (Exception)
{
// Exception is thrown if the vault isn't properly initialised
return "";
}
}
示例8: LogoutAsync
// Define a method that performs the authentication process
// using a Facebook sign-in.
//private async System.Threading.Tasks.Task AuthenticateAsync()
//{
// while (user == null)
// {
// string message;
// try
// {
// // Change 'MobileService' to the name of your MobileServiceClient instance.
// // Sign-in using Facebook authentication.
// user = await App.MobileService
// .LoginAsync(MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory);
// message =
// string.Format("You are now signed in - {0}", user.UserId);
// }
// catch (InvalidOperationException)
// {
// message = "You must log in. Login Required";
// }
// var dialog = new MessageDialog(message);
// dialog.Commands.Add(new UICommand("OK"));
// await dialog.ShowAsync();
// }
//}
public override async void LogoutAsync()
{
App.MobileService.Logout();
string message;
// This sample uses the Facebook provider.
var provider = "AAD";
// Use the PasswordVault to securely store and access credentials.
PasswordVault vault = new PasswordVault();
PasswordCredential credential = null;
try
{
// Try to get an existing credential from the vault.
credential = vault.FindAllByResource(provider).FirstOrDefault();
vault.Remove(credential);
}
catch (Exception)
{
// When there is no matching resource an error occurs, which we ignore.
}
message = string.Format("You are now logged out!");
var dialog = new MessageDialog(message);
dialog.Commands.Add(new UICommand("OK"));
await dialog.ShowAsync();
IsLoggedIn = false;
}
示例9: AddCredential
/// <summary>
/// Adds a credential to the credential locker.
/// </summary>
/// <param name="credential">The credential to be added.</param>
public static void AddCredential(Credential credential)
{
if (credential == null || string.IsNullOrEmpty(credential.ServiceUri))
return;
var serverInfo = IdentityManager.Current.FindServerInfo(credential.ServiceUri);
var host = serverInfo == null ? credential.ServiceUri : serverInfo.ServerUri;
string passwordValue = null; // value stored as password in the password locker
string userName = null;
var oAuthTokenCredential = credential as OAuthTokenCredential;
var arcGISTokenCredential = credential as ArcGISTokenCredential;
var arcGISNetworkCredential = credential as ArcGISNetworkCredential;
if (oAuthTokenCredential != null)
{
userName = oAuthTokenCredential.UserName;
if (!string.IsNullOrEmpty(oAuthTokenCredential.OAuthRefreshToken)) // refreshable OAuth token --> we store it so we'll be able to generate a new token from it
passwordValue = OAuthRefreshTokenPrefix + oAuthTokenCredential.OAuthRefreshToken;
else if (!string.IsNullOrEmpty(oAuthTokenCredential.Token))
passwordValue = OAuthAccessTokenPrefix + oAuthTokenCredential.Token;
}
else if (arcGISTokenCredential != null)
{
userName = arcGISTokenCredential.UserName;
if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(arcGISTokenCredential.Password)) // Token generated from an username/password --> store the password
passwordValue = PasswordPrefix + arcGISTokenCredential.Password;
}
else if (arcGISNetworkCredential != null)
{
// networkcredential: store the password
if (arcGISNetworkCredential.Credentials != null)
{
NetworkCredential networkCredential = arcGISNetworkCredential.Credentials.GetCredential(new Uri(host), "");
if (networkCredential != null && !string.IsNullOrEmpty(networkCredential.Password))
{
userName = networkCredential.UserName;
if (!string.IsNullOrEmpty(networkCredential.Domain))
userName = networkCredential.Domain + "\\" + userName;
passwordValue = NetworkCredentialPasswordPrefix + networkCredential.Password;
}
}
}
// Store the value in the password locker
if (passwordValue != null)
{
var passwordVault = new PasswordVault();
var resource = ResourcePrefix + host;
// remove previous resource stored for the same host
try // FindAllByResource throws an exception when no pc are stored
{
foreach (PasswordCredential pc in passwordVault.FindAllByResource(resource))
passwordVault.Remove(pc);
}
catch {}
passwordVault.Add(new PasswordCredential(resource, userName, passwordValue));
}
}
示例10: AuthenticateAsync
// Log the user in with specified provider (Microsoft Account or Facebook)
private async Task AuthenticateAsync()
{
// Use the PasswordVault to securely store and access credentials.
PasswordVault vault = new PasswordVault();
PasswordCredential credential = null;
try
{
// Try to get an existing credential from the vault.
credential = vault.FindAllByResource(provider).FirstOrDefault();
}
catch (Exception)
{
// do nothing
}
if (credential != null)
{
// Create a user from the stored credentials.
user = new MobileServiceUser(credential.UserName);
credential.RetrievePassword();
user.MobileServiceAuthenticationToken = credential.Password;
// Set the user from the stored credentials.
App.MobileService.CurrentUser = user;
try
{
// Try to return an item now to determine if the cached credential has expired.
await App.MobileService.GetTable<Event>().Take(1).ToListAsync();
}
catch (MobileServiceInvalidOperationException ex)
{
if (ex.Response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
{
// Remove the credential with the expired token.
vault.Remove(credential);
credential = null;
}
}
}
else
{
try
{
// Login with the identity provider.
user = await App.MobileService.LoginAsync(provider);
// Create and store the user credentials.
credential = new PasswordCredential(provider,
user.UserId, user.MobileServiceAuthenticationToken);
vault.Add(credential);
}
catch (MobileServiceInvalidOperationException ex)
{
Debug.WriteLine(ex.StackTrace);
}
}
}
示例11: AuthenticateAsync
private async System.Threading.Tasks.Task AuthenticateAsync(String provider) {
string message;
// Use the PasswordVault to securely store and access credentials.
PasswordVault vault = new PasswordVault();
PasswordCredential credential = null;
while (credential == null) {
try {
// Try to get an existing credential from the vault.
credential = vault.FindAllByResource(provider).FirstOrDefault();
} catch (Exception) {
// When there is no matching resource an error occurs, which we ignore.
}
if (credential != null) {
// Create a user from the stored credentials.
_user = new MobileServiceUser(credential.UserName);
credential.RetrievePassword();
_user.MobileServiceAuthenticationToken = credential.Password;
// Set the user from the stored credentials.
App.MobileService.CurrentUser = _user;
try {
// Try to return an item now to determine if the cached credential has expired.
await App.MobileService.GetTable<TrainingItem>().Take(1).ToListAsync();
} catch (MobileServiceInvalidOperationException ex) {
if (ex.Response.StatusCode == System.Net.HttpStatusCode.Unauthorized) {
// Remove the credential with the expired token.
vault.Remove(credential);
credential = null;
continue;
}
}
} else {
try {
// Login with the identity provider.
_user = await App.MobileService.LoginAsync(provider);
// Create and store the user credentials.
credential = new PasswordCredential(provider, _user.UserId, _user.MobileServiceAuthenticationToken);
vault.Add(credential);
} catch (MobileServiceInvalidOperationException ex) {
message = "You must log in. Login Required";
}
}
message = string.Format("You are now logged in - {0}", _user.UserId);
var dialog = new MessageDialog(message);
dialog.Commands.Add(new UICommand("OK"));
await dialog.ShowAsync();
}
}
示例12: RemoveAllCredentialsByResource
private static void RemoveAllCredentialsByResource(string resource, PasswordVault vault) {
try {
// Remove the old credentials for this resource
var oldCredentials = vault.FindAllByResource(resource);
foreach (var oldCredential in oldCredentials) {
vault.Remove(oldCredential);
}
}
catch (Exception) {
} // FindAllByResource throws Exception if nothing stored for that resource
}
示例13: Load
public PasswordCredential Load()
{
try
{
PasswordVault vault2 = new PasswordVault();
return vault2.FindAllByResource(AppResourceName).FirstOrDefault();
}
catch (Exception)
{
return null;
}
}
示例14: RetrieveAllCredential
public static IReadOnlyList<PasswordCredential> RetrieveAllCredential()
{
try
{
PasswordVault vault = new PasswordVault();
return vault.FindAllByResource(CredentialSource);
}
catch
{
return null;
}
}
示例15: getCredential
public static PasswordCredential getCredential(string resource)
{
PasswordCredential credential = null;
var vault = new PasswordVault();
var credentialList = vault.FindAllByResource(resource);
if (credentialList.Count == 1)
{
credentialList[0].RetrievePassword();
credential = credentialList[0];
}
return credential;
}