F5 BIG-IP JWT Validation with Access Policy Manager (APM)

Video of BIG-IP JWT Validation with Access Policy Manager (APM) Links: Ansible Role: https://github.com/jmcalalang/lab/blo... JWT Policy: https://github.com/jmcalalang/lab/tre... Creating the JWT: Signature: echo -n calalang | base64 | tr '+/' '-_' | tr -d '=' Y2FsYWxhbmc Header: echo -n '{ "alg": "HS256", "typ": "oct", "kid": "0001" }' | base64 | tr '+/' '-_' | tr -d '=' ewogICAgImFsZyI6ICJIUzI1NiIsCiAgICAidHlwIjogIm9jdCIsCiAgICAia2lkIjogIjAwMDEiCn0 Payload: echo -n '{ "sub": "12345678919", "name": "Jon Calalang", "admin": true, "iss": "calalang.net", "exp": 1700772805 }' | base64 | tr '+/' '-_' | tr -d '=' ewogICAgInN1YiI6ICIxMjM0NTY3ODkxOSIsCiAgICAibmFtZSI6ICJKb24gQ2FsYWxhbmciLAogICAgImFkbWluIjogdHJ1ZSwKICAgICJpc3MiOiAiY2FsYWxhbmcubmV0IiwKICAgICJleHAiOiAxNzAwNzcyODA1Cn0 echo -n ewogICAgImFsZyI6ICJIUzI1NiIsCiAgICAidHlwIjogIm9jdCIsCiAgICAia2lkIjogIjAwMDEiCn0.ewogICAgInN1YiI6ICIxMjM0NTY3ODkxOSIsCiAgICAibmFtZSI6ICJKb24gQ2FsYWxhbmciLAogICAgImFkbWluIjogdHJ1ZSwKICAgICJpc3MiOiAiY2FsYWxhbmcubmV0IiwKICAgICJleHAiOiAxNzAwNzcyODA1Cn0 | openssl dgst -binary -sha256 -hmac calalang | base64 | tr '+/' '-_' | tr -d '=' G-OOo3kZ6IRsxRfse_fE9o6GDHvxoRtfVDpMODQqmQ4 JWT: ewogICAgImFsZyI6ICJIUzI1NiIsCiAgICAidHlwIjogIm9jdCIsCiAgICAia2lkIjogIjAwMDEiCn0.ewogICAgInN1YiI6ICIxMjM0NTY3ODkxOSIsCiAgICAibmFtZSI6ICJKb24gQ2FsYWxhbmciLAogICAgImFkbWluIjogdHJ1ZSwKICAgICJpc3MiOiAiY2FsYWxhbmcubmV0IiwKICAgICJleHAiOiAxNzAwNzcyODA1Cn0.G-OOo3kZ6IRsxRfse_fE9o6GDHvxoRtfVDpMODQqmQ4 BIG-IP APM Objects: JSON Web Token Key JSON Web Token Token JSON Web Token Provider OAuth Resource Provider APM Per-Session Policy OAuth Scope in Per-Session Policy VIP Attachment Request: curl -i -H 'Accept: application/json' https://bigip.calalang.net curl -i -H 'Accept: application/json' -H "Authorization: Bearer ewogICAgImFsZyI6ICJIUzI1NiIsCiAgICAidHlwIjogIm9jdCIsCiAgICAia2lkIjogIjAwMDEiCn0.ewogICAgInN1YiI6ICIxMjM0NTY3ODkxOSIsCiAgICAibmFtZSI6ICJKb24gQ2FsYWxhbmciLAogICAgImFkbWluIjogdHJ1ZSwKICAgICJpc3MiOiAiY2FsYWxhbmcubmV0IiwKICAgICJleHAiOiAxNzAwNzcyODA1Cn0.G-OOo3kZ6IRsxRfse_fE9o6GDHvxoRtfVDpMODQqmQ4" https://bigip.calalang.net