From 903d8cefd70dc0ccc7b325bde717026d98c98c26 Mon Sep 17 00:00:00 2001 From: EngincanV Date: Tue, 4 Feb 2025 11:28:29 +0300 Subject: [PATCH] Initial commit for the openiddict article --- .../POST.md | 104 ++++++++++++++++++ .../openiddict-server-events.png | Bin 0 -> 76654 bytes 2 files changed, 104 insertions(+) create mode 100644 docs/en/Community-Articles/2025-02-04-OpenIddict-Custom-Logic/POST.md create mode 100644 docs/en/Community-Articles/2025-02-04-OpenIddict-Custom-Logic/openiddict-server-events.png diff --git a/docs/en/Community-Articles/2025-02-04-OpenIddict-Custom-Logic/POST.md b/docs/en/Community-Articles/2025-02-04-OpenIddict-Custom-Logic/POST.md new file mode 100644 index 0000000000..779f292fc7 --- /dev/null +++ b/docs/en/Community-Articles/2025-02-04-OpenIddict-Custom-Logic/POST.md @@ -0,0 +1,104 @@ +# OpenIddict Events Model: Custom Request Processing Logic + +[ABP's OpenIddict Module](https://abp.io/docs/latest/modules/openiddict) provides an integration with the [OpenIddict](https://github.com/openiddict/openiddict-core) library which provides advanced authentication features like single sign-on, single log-out, and API access control. + +OpenIddict provides an event-driven model ([event models](https://documentation.openiddict.com/introduction#events-model)) that allows developers to customize authentication and authorization processes. This event model enables handling actions such as user **sign-in**, **sign-out**, **token validation**, and **request handling** dynamically. + +In this article, we will explore OpenIddict event models, their key use cases, and how to implement them effectively. + +## OpenIddict Event Models + +OpenIddict events are primarily used within the OpenIddict server component. These events provide hooks into the OpenID Connect flow, allowing developers to modify behavior at different stages of authentication & authorization processes. + +For example if you want to do the following things, then you can use these event models: + +* Adding custom logic after users sign-out from the application, +* Adding custom logic after users sign-in to the application, +* Make additional checks after token validation, +* and more... + +OpenIddict provides multiple server events, under the `OpenIddictServerEvents` static class to make them easier to find (also provides additonal validation events under the `OpenIddictValidationEvents` static class). Here are some of the pre-defined `OpenIddictServerEvents`: + +![](openiddict-server-events.png) + +Each event represents a specific moment in the **request processing pipeline** (e.g the moment the OpenIddict server determines whether the request is a valid OpenID Connect request it should handle, the moment it extracts it, handles it or returns a response). Thanks to that, only thing you should do as an application developer is creating an event handler to subscribe to these events when they are triggered. + +Let's see, how to do that in the next section with an example. + +## Example: How to add custom logic when a user signs out? + +Assume that you want to apply a custom logic after a user signs-out from our application. To do that, you can create a custom event handler. There are only two steps that you need to do as the following: + +1. Create a custom event handler that subscribes to `OpenIddictServerEvents.ProcessSignOutContext`: + +```csharp +using System.Threading.Tasks; +using OpenIddict.Server; + +namespace MySolution; + +public class SignOutEventHandler : IOpenIddictServerHandler +{ + public static OpenIddictServerHandlerDescriptor Descriptor { get; } + = OpenIddictServerHandlerDescriptor.CreateBuilder() + .UseSingletonHandler() + .SetOrder(100_000) + .SetType(OpenIddictServerHandlerType.Custom) + .Build(); + + public ValueTask HandleAsync(OpenIddictServerEvents.ProcessSignOutContext context) + { + //your logic... + + return ValueTask.CompletedTask; + } +} +``` + +Here, you have subscribed to the `ProcessSignOutContext` server event and it get triggered after each signout request. So, in the `HandleAsync` method, you can apply your own logic by ensuring the users are being signed-out of the application. For example, you might be deleting some temporary data about the signed-in user from your services or any other logic that you want to do. + +Notice, you have created an static property called `Descriptor`, you have set the event type as `Custom` (_OpenIddictServerHandlerType.Custom_), life time of the event handler as _Singleton_ and set an order. + +> **Note:** Multiple handlers of the same type can be registered: they will be sequentially invoked in the same order as the one used to register them. Ref: https://kevinchalet.com/2018/07/02/implementing-advanced-scenarios-using-the-new-openiddict-rc3-events-model/ + +2. After creating an event handler, next thing you need to do is registering the event handler by configuring the `OpenIddictServerBuilder` as follows: + +```cs + +public class MySolutionAuthServerModule : AbpModule +{ + public override void PreConfigureServices(ServiceConfigurationContext context) + { + //... + + PreConfigure(serverBuilder => + { + serverBuilder.AddEventHandler(SignOutEventHandler.Descriptor); + }); + + //... + } +} + +``` + +Here, you have configured the `OpenIddictServerBuilder` and registered the custom event handler. By doing this, the OpenIddict library be aware of the related event handler and triggers it when the related event occurs (signing-out, in this case). + +That's it all. After these steps, your `SignOutEventHandler.HandleAsync()` method should be triggered after each signout request. You can also use other pre-defined server events for other stages of the authentication & authorization processes such as; + +* `OpenIddictServerEvents.ProcessSignInContext` -> after each sign-in, +* `OpenIddictServerEvents.ProcessErrorContext` -> when an error occurs in the authentication, +* `OpenIddictServerEvents.ProcessChallengeContext` -> called when processing a challenge operation, +* and other 40+ server events... + +## Conclusion + +ABP Framework integrates OpenIddict as its authentication and authorization module. OpenIddict provides an event-driven model that allows developers to customize authentication and authorization processes within their ABP applications. It's pre-installed & pre-configured in the ABP's startup templates. + +OpenIddict's event model enables handling actions such as user **sign-in**, **sign-out**, **token validation**, and **request handling** dynamically. Thanks to that, adding custom logic is pretty straight-forward and it allows modify behavior at different stages of authentication & authorization processes. + +## References + +* https://kevinchalet.com/2018/07/02/implementing-advanced-scenarios-using-the-new-openiddict-rc3-events-model/ +* https://documentation.openiddict.com/introduction#events-model +* https://abp.io/docs/latest/modules/openiddict \ No newline at end of file diff --git a/docs/en/Community-Articles/2025-02-04-OpenIddict-Custom-Logic/openiddict-server-events.png b/docs/en/Community-Articles/2025-02-04-OpenIddict-Custom-Logic/openiddict-server-events.png new file mode 100644 index 0000000000000000000000000000000000000000..7214486a0e0182245b9e9445836a1d385a7bf4d6 GIT binary patch literal 76654 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 Fe*t4CqfY<; literal 0 HcmV?d00001