
* website/docs: Update deps. * website/docs: Port partial monorepo fixes. Fix build warnings. * website/docs: Update Prettier. * website/docs: Format. Update deps. * website/docs: Remove empty entry.
60 lines
2.2 KiB
Plaintext
60 lines
2.2 KiB
Plaintext
---
|
|
title: RADIUS Provider
|
|
---
|
|
|
|
import { HashSupport } from "./HashSupport";
|
|
|
|
You can configure a Radius provider for applications that don't support any other protocols or that require Radius.
|
|
|
|
:::info
|
|
This provider requires the deployment of the [RADIUS outpost](../../outposts/index.mdx)
|
|
:::
|
|
|
|
Currently, only authentication requests are supported.
|
|
|
|
### Authentication flow
|
|
|
|
Authentication requests against the Radius Server use a flow in the background. This allows you to use the same flows, stages, and policies as you do for web-based logins.
|
|
|
|
The following stages are supported:
|
|
|
|
- [Identification](../../flows-stages/stages/identification/index.mdx)
|
|
- [Password](../../flows-stages/stages/password/index.md)
|
|
- [Authenticator validation](../../flows-stages/stages/authenticator_validate/index.mdx)
|
|
|
|
Note: Authenticator validation currently only supports DUO, TOTP, and static authenticators.
|
|
|
|
For code-based authenticators, the code must be given as part of the bind password, separated by a semicolon. For example for the password `example-password` and the MFA token `123456`, the input must be `example-password;123456`.
|
|
|
|
SMS-based authenticators are not supported because they require a code to be sent from authentik, which is not possible during the bind.
|
|
|
|
- [User Logout](../../flows-stages/stages/user_logout.md)
|
|
- [User Login](../../flows-stages/stages/user_login/index.md)
|
|
- [Deny](../../flows-stages/stages/deny.md)
|
|
|
|
### RADIUS attributes
|
|
|
|
Starting with authentik 2024.8, you can create RADIUS provider property mappings, which make it possible to add custom attributes to the RADIUS response packets.
|
|
|
|
For example, to add the Cisco AV-Pair attribute, this snippet can be used:
|
|
|
|
```python
|
|
define_attribute(
|
|
vendor_code=9,
|
|
vendor_name="Cisco",
|
|
attribute_name="AV-Pair",
|
|
attribute_code=1,
|
|
attribute_type="string",
|
|
)
|
|
packet["Cisco-AV-Pair"] = "shell:priv-lvl=15"
|
|
return packet
|
|
```
|
|
|
|
After creation, make sure to select the RADIUS property mapping in the RADIUS provider.
|
|
|
|
### Limitations
|
|
|
|
The RADIUS provider only supports the [PAP](https://en.wikipedia.org/wiki/Password_Authentication_Protocol) (Password Authentication Protocol) protocol:
|
|
|
|
<HashSupport />
|