Prototyping experience for IPP OAuth Extensions v1.0 (OAUTH)

Michael Sweet via ipp <[email protected]>
Newsgroups gmane.ietf.ipp
Message-ID <[email protected]>
All,

This messages serves as notice of prototyping of the IPP OAuth Extensions v1.0 (OAUTH) specification at:

    https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippoauth10-20230814.pdf

Implementation has been progressing in multiple projects and (at this point) I can say that what remains is outside the scope of the IPP specification and entirely OAuth/OpenID-specific for the "Resource Server" authorization that the IPP Printer needs to implement for validation.

Code/status:

- CUPS v2.5: https://github.com/OpenPrinting/cups
  - (MERGING) Base OAuth/JWT/X.509 support, client authorization support
  - (PENDING) OAuth server authorization support
- libcups v3.0: https://github.com/OpenPrinting/libcups
  - (DONE) Base OAuth/JWT/X.509 support, client authorization support
- mOAuth v2.0: https://github.com/michaelrsweet/moauth
  - (MOSTLY DONE) OAuth/OpenID Authorization Server for testing
- PAPPL v2.0: https://github.com/michaelrsweet/pappl
  - (IN PROGRESS) OAuth client/server authorization support
- cups-local v3.0: https://github.com/OpenPrinting/cups-local
  - (WAITING-FOR-PAPPL) OAuth client authorization
- cups-sharing v3.0: https://github.com/OpenPrinting/cups-sharing
  - (WAITING-FOR-PAPPL) OAuth client/server authorization

Both cups-local and cups-sharing depend on PAPPL for their OAuth support, which in turn depends on CUPS/libcups for the base OAuth support.

Prototyping Experience/Issues:

- X.509 Validation of CA-Signed Certificates
  - Installing CA-signed certs on printers needs work (ACME-IOT or similar)
- OpenID Authorization Servers are far more consistent than OAuth servers
  - Lack of RFC 8414 metadata support for common OAuth implementations (Github, others)
    - CUPS implementation tries both metadata paths and then has a backup for Github
  - RFC 7636 PKCE code_challenge/verifier vs. OpenID nonce vs. no additional protection during authorization
    - CUPS implementation detects authorization requirements via metadata
- Implementing well-known/authorized list of OAuth servers is probably optimistic:
  - Amazon and Microsoft OpenID solutions (at least) require you to setup/provision your own server, which will have a unique FQDN for your organization's domain (so no single standard URL)
  - Think we need to reword the guidance here to have the administrator populate a list of acceptable Authorization Server URLs that are used by the client
  - This list could be dynamically generated via DHCP option (needs registration) and/or DNS-SD lookup for the organization domain

We'll discuss this during today's conference call...

________________________
Michael Sweet

_______________________________________________
ipp mailing list
[email protected]
https://www.pwg.org/mailman/listinfo/ipp
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkIbDzcZsP1Y8+PQFvmfHXsgfMkQFAmZ0ZBUACgkQvmfHXsgf
MkT85BAAh4qhG+gNX01S81APf+iRCKXIgb7B0VPrm6lBN+Ovf4IGX/0eLveZxrPd
sUfS3LOlixKIgkgj5/nrH+zs/nvlQkwim57WfiHE+RN/m0JMfvIL9TaX82cGy/R7
2PJkUgrLKnN34DXp+YGI07rCX3BRe/1KqaMWKz+bhNm4aUrfv/ZOxUlzFpOphGho
oAkvH6ajEUVh8qcq2V9PJJVvOAOiPO5EHBlLHsg6C+RuZimlDvuExL6+DvEPbfGV
4ZSOBh49mLZrjkdpxWmaTAujekT+/R0k2++R/5YTndjdKUcOqp1Jt/8JPngUqXUr
TPHiT1GqF0W/ux3A+9Rqgl3Fy39SVLwjk9l0CVL0B0z09Hnw3NkLX5h199qOnjQJ
fO9hXfaxd9Nbzj04mnqydUD+bH9DxJUtWxKHhnOTRKB1lFnlU1DjqXXAzr+Xwr7L
itlibQdwxDPx4MTCFeQ6vKfL1zqpZnWLOLNwuD8f9lq90pP9rLe2hoNoK3gt6oJV
cpzqbv9e5LJfAGB5f3il9yvNzIujUPrYS/sxTrPGdkoiHX4e9xFs2kfrzwxtNe1t
9cZ8odjOehHnxjSzBe8Ykp1HBRHRJyN6/EbWGo9aMEzaj4un9vUv04xoSJ4OWMX9
Fj4gpKYKlOmyS9S3RFVW7IunNCXtMeZpN5OhsN6amyN5H2q0YgY=
=qgJI
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.