You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.1 KiB
2.1 KiB
LINGYUN.Abp.IdentityServer.SmsValidator
IdentityServer SMS verification module that provides authentication functionality based on phone numbers and SMS verification codes.
Features
-
SMS Verification
SmsTokenGrantValidator- SMS Token Grant Validator- Phone number validation
- SMS verification code validation
- Brute force protection
- User lockout check
- Security log recording
- Event notifications
-
Authentication Flow
- User initiates login request with phone number and SMS verification code
- Validates phone number and verification code
- Checks user status (whether locked)
- Generates access token upon successful validation
- Records security logs and events
Module Reference
[DependsOn(
typeof(AbpIdentityServerSmsValidatorModule)
)]
public class YourModule : AbpModule
{
// ...
}
Dependencies
AbpIdentityServerDomainModule- ABP IdentityServer Domain Module
Configuration and Usage
Configure SMS Validation
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<IIdentityServerBuilder>(builder =>
{
builder.AddExtensionGrantValidator<SmsTokenGrantValidator>();
});
}
Authentication Request Parameters
grant_type: "phone_verify" (required)phone_number: Phone number (required)phone_verify_code: SMS verification code (required)scope: Request scope (optional)
Authentication Response
- On successful authentication:
{
"access_token": "access_token",
"expires_in": expiration_time,
"token_type": "Bearer",
"refresh_token": "refresh_token"
}
- On authentication failure:
{
"error": "invalid_grant",
"error_description": "error description"
}
Error Types
invalid_grant: Grant validation failed- Phone number not registered
- Invalid verification code
- User locked out
- Missing parameters
Related Documentation: