Fix error message (#1752)

Fixes https://github.com/aspnet/Identity/issues/1669
This commit is contained in:
Hao Kung 2018-04-13 14:31:35 -07:00 committed by GitHub
parent 5a2eb3becd
commit a273e349ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 16 deletions

View File

@ -207,7 +207,7 @@ namespace Microsoft.Extensions.Identity.Core
=> GetString("MustCallAddIdentity");
/// <summary>
/// No IUserTokenProvider named '{0}' is registered.
/// No IUserTwoFactorTokenProvider&lt;{0}&gt; named '{1}' is registered.
/// </summary>
internal static string NoTokenProvider
{
@ -215,10 +215,10 @@ namespace Microsoft.Extensions.Identity.Core
}
/// <summary>
/// No IUserTokenProvider named '{0}' is registered.
/// No IUserTwoFactorTokenProvider&lt;{0}&gt; named '{1}' is registered.
/// </summary>
internal static string FormatNoTokenProvider(object p0)
=> string.Format(CultureInfo.CurrentCulture, GetString("NoTokenProvider"), p0);
internal static string FormatNoTokenProvider(object p0, object p1)
=> string.Format(CultureInfo.CurrentCulture, GetString("NoTokenProvider"), p0, p1);
/// <summary>
/// User security stamp cannot be null.

View File

@ -174,8 +174,8 @@
<comment>Error when AddIdentity is not called</comment>
</data>
<data name="NoTokenProvider" xml:space="preserve">
<value>No IUserTokenProvider named '{0}' is registered.</value>
<comment>Error when there is no IUserTokenProvider</comment>
<value>No IUserTwoFactorTokenProvider&lt;{0}&gt; named '{1}' is registered.</value>
<comment>Error when there is no IUserTwoFactorTokenProvider</comment>
</data>
<data name="NullSecurityStamp" xml:space="preserve">
<value>User security stamp cannot be null.</value>

View File

@ -1702,7 +1702,7 @@ namespace Microsoft.AspNetCore.Identity
if (!_tokenProviders.ContainsKey(tokenProvider))
{
throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, Resources.NoTokenProvider, tokenProvider));
throw new NotSupportedException(Resources.FormatNoTokenProvider(nameof(TUser), tokenProvider));
}
// Make sure the token is valid
var result = await _tokenProviders[tokenProvider].ValidateAsync(purpose, token, this, user);
@ -1737,7 +1737,7 @@ namespace Microsoft.AspNetCore.Identity
}
if (!_tokenProviders.ContainsKey(tokenProvider))
{
throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, Resources.NoTokenProvider, tokenProvider));
throw new NotSupportedException(Resources.FormatNoTokenProvider(nameof(TUser), tokenProvider));
}
return _tokenProviders[tokenProvider].GenerateAsync(purpose, this, user);
@ -1804,8 +1804,7 @@ namespace Microsoft.AspNetCore.Identity
}
if (!_tokenProviders.ContainsKey(tokenProvider))
{
throw new NotSupportedException(String.Format(CultureInfo.CurrentCulture,
Resources.NoTokenProvider, tokenProvider));
throw new NotSupportedException(Resources.FormatNoTokenProvider(nameof(TUser), tokenProvider));
}
// Make sure the token is valid
@ -1835,8 +1834,7 @@ namespace Microsoft.AspNetCore.Identity
}
if (!_tokenProviders.ContainsKey(tokenProvider))
{
throw new NotSupportedException(String.Format(CultureInfo.CurrentCulture,
Resources.NoTokenProvider, tokenProvider));
throw new NotSupportedException(Resources.FormatNoTokenProvider(nameof(TUser), tokenProvider));
}
return _tokenProviders[tokenProvider].GenerateAsync("TwoFactor", this, user);

View File

@ -1885,14 +1885,19 @@ namespace Microsoft.AspNetCore.Identity.Test
var manager = CreateManager();
var user = CreateTestUser();
IdentityResultAssert.IsSuccess(await manager.CreateAsync(user));
const string error = "No IUserTokenProvider named 'bogus' is registered.";
var ex = await
Assert.ThrowsAsync<NotSupportedException>(
() => manager.GenerateTwoFactorTokenAsync(user, "bogus"));
var error = $"No IUserTwoFactorTokenProvider<{nameof(TUser)}> named 'bogus' is registered.";
var ex = await Assert.ThrowsAsync<NotSupportedException>(
() => manager.GenerateTwoFactorTokenAsync(user, "bogus"));
Assert.Equal(error, ex.Message);
ex = await Assert.ThrowsAsync<NotSupportedException>(
() => manager.VerifyTwoFactorTokenAsync(user, "bogus", "bogus"));
Assert.Equal(error, ex.Message);
ex = await Assert.ThrowsAsync<NotSupportedException>(
() => manager.VerifyUserTokenAsync(user, "bogus", "bogus", "bogus"));
Assert.Equal(error, ex.Message);
ex = await Assert.ThrowsAsync<NotSupportedException>(
() => manager.GenerateUserTokenAsync(user, "bogus", "bogus"));
Assert.Equal(error, ex.Message);
}
/// <summary>