AuthenticationProvider

Namespace: ASPSecurityKit.AuthProviders
Assembly: ASPSecurityKit.dll

Summary

Inherit from parent.

Summary

Implements IAuthenticationProvider and performs authentication step of the security pipeline using one or more IAuthenticationSchemeHandler. To learn more, visit https://ASPSecurityKit.net/docs/article/the-security-pipeline/#authentication

Constructors

#ctor(authSchemeHandlers,settings,sessionProvider,userService,failureHandler,securityContext,errorResource)

Summary

Initializes a new instance of the AuthenticationProvider class.

Parameters
Name Type Description
authSchemeHandlers ASPSecurityKit.AuthProviders.IAuthenticationSchemeHandler[] The list containing handlers for all the supported authentication schemes.
settings ASPSecurityKit.ISecuritySettings The security settings.
sessionProvider ASPSecurityKit.IAuthSessionProvider The session provider.
userService ASPSecurityKit.IUserService The user service.
failureHandler ASPSecurityKit.ISecurityFailureResponseHandler The failure handler.
securityContext ASPSecurityKit.ISecurityContext The security context.
errorResource ASPSecurityKit.IErrorMessageResourceProvider The error resource.
Remarks

When Authenticate is called, the request will be evaluated through the auth schemes in order the authSchemeHandlers were provided.

Methods

Authenticate(requestService)

Summary

Authenticates the specified request. To learn more about the flow of the default implementation, visit https://ASPSecurityKit.net/docs/article/the-security-pipeline/#authentication

Returns

AuthResult instance with Code as Success if authentication was successful; otherwise, a possible reason of failure.

Parameters
Name Type Description
requestService ASPSecurityKit.IRequestService The request service.
Exceptions
Type Description
System.ArgumentNullException When requestService is null.
Remarks

The method doesn’t just authenticate but also loads a session for the authenticated identity including user, permits and anything else needed by the subsequent steps.

HandleUnauthenticatedRequest(requestService,result)

Summary

Handles response when request couldn’t be authenticated.

Parameters
Name Type Description
requestService ASPSecurityKit.IRequestService The request service.
result ASPSecurityKit.AuthProviders.AuthResult The result instance with failure details.
Exceptions
Type Description
System.ArgumentNullException When requestService/result is null.
System.ArgumentException When result is not a failed one.

LoadSession(auth,letSuspendedAuthenticate)

Summary

Loads the session (user/permits/etc.) for the authenticated identity.

Returns

AuthResult instance with Code as Success if load was successful; otherwise, a possible reason of failure.

Parameters
Name Type Description
auth ASPSecurityKit.IAuthDetails The authenticated identity details.
letSuspendedAuthenticate System.Boolean If set to false and the associated user is found suspended, forbids loading and returns Suspended; otherwise, loads the session.
Exceptions
Type Description
System.ArgumentNullException When auth is null.

AuthenticateAsync(requestService)

Summary

Authenticates the specified request. To learn more about the flow of the default implementation, visit https://ASPSecurityKit.net/docs/article/the-security-pipeline/#authentication

Returns

AuthResult instance with Code as Success if authentication was successful; otherwise, a possible reason of failure.

Parameters
Name Type Description
requestService ASPSecurityKit.IRequestService The request service.
Exceptions
Type Description
System.ArgumentNullException When requestService is null.
Remarks

The method doesn’t just authenticate but also loads a session for the authenticated identity including user, permits and anything else needed by the subsequent steps.

AuthenticateAsync(requestService,cancellationToken)

Summary

Authenticates the specified request. To learn more about the flow of the default implementation, visit https://ASPSecurityKit.net/docs/article/the-security-pipeline/#authentication

Returns

AuthResult instance with Code as Success if authentication was successful; otherwise, a possible reason of failure.

Parameters
Name Type Description
requestService ASPSecurityKit.IRequestService The request service.
cancellationToken System.Threading.CancellationToken The cancellation token.
Exceptions
Type Description
System.ArgumentNullException When requestService is null.
Remarks

The method doesn’t just authenticate but also loads a session for the authenticated identity including user, permits and anything else needed by the subsequent steps.

HandleUnauthenticatedRequestAsync(requestService,result)

Summary

Handles response when request couldn’t be authenticated.

Parameters
Name Type Description
requestService ASPSecurityKit.IRequestService The request service.
result ASPSecurityKit.AuthProviders.AuthResult The result instance with failure details.
Exceptions
Type Description
System.ArgumentNullException When requestService/result is null.
System.ArgumentException When result is not a failed one.

HandleUnauthenticatedRequestAsync(requestService,result,cancellationToken)

Summary

Handles response when request couldn’t be authenticated.

Parameters
Name Type Description
requestService ASPSecurityKit.IRequestService The request service.
result ASPSecurityKit.AuthProviders.AuthResult The result instance with failure details.
cancellationToken System.Threading.CancellationToken The cancellation token.
Exceptions
Type Description
System.ArgumentNullException When requestService/result is null.
System.ArgumentException When result is not a failed one.