Closed erewok closed 5 years ago
See https://github.com/haskell-servant/servant/issues/880 for the 2018 edition, which can serve as inspiration. I'd be happy to help craft and later mentor servant projects in general. Perhaps some ideas that are worth mentionning (I can expand later, I have to run in a bit):
The second one is something I've been eyeing on and off for quite some time but for which I haven't quite managed to have both the motivation and the time simultaneously at any given moment.
@alpmestan: I like your suggestions better than mine.
How's about this, from your third suggestion @alpmestan and based on the previous submission here.
---
title: Make servant-auth "open" for defining custom auth schemas
---
Since its introduction in 2017, the
[servant-auth](https://github.com/haskell-servant/servant-auth)
package has seen uptake in the
Servant[servant](https://haskell-servant.readthedocs.io/) community
but unlike the rest of the Servant ecosystem, `servant-auth` won't
let you define your own auth schemas and use them just like you'd use
`servant-auth`'s out-of-the-box support for *basic auth* or JWT. Indeed,
users have shown interest in Oauth1 and Oauth2 (and, related,
OpenIDConnect) in the Servant family of libraries, so if `servant-auth`
were open, it should be more straightforward to integrate these and other
auth schemas for Servant servers, clients, API documentation, and other
places.
Thus, a potential project could be to open up `servant-auth` and then
implement Oauth1 or another authorization schema as an example of how
to use the new functionality for the project. The end goal of this project
would be to increase the flexibility and freedom end-users have to implement
auth schemas in `servant-auth`, with reasonable haddocks, and some tests
as well.
The student could optionally also (co-?)author [cookbook recipes](https://haskell-servant.readthedocs.io/en/stable/cookbook/index.html)
illustrating how to serve or query APIs that are protected by the newly supported
authentication schemes, or on how to implement new auth schemas using the
new functionality made available in `servant-auth`, therefore making the student's
work easily discoverable by current and future servant users.
By the end of the summer, _servant-auth_ would move closer to its goal of being
_the_ definitive auth solution for Servant.
**Mentors**: Alp Mestanogullari
**Difficulty**: Intermediate
@erewok Looks great! This can be submitted as-is, as far as I'm concerned.
Alright. I'll submit it. Thanks for reviewing.
@alpmestan, I added a PR to summer-of-haskell, but I may need your help with any detailed questions beyond my knowledge of servant-auth, so please keep an eye on the discussion there. Thanks again.
@erewok I'm subscribing to that issue then. Thanks a lot for taking care of this!
They actually merged it already.
You're welcome. I just want to help however I can because I appreciate the work you all put into Servant.
Hi All,
I was wondering if anyone is interested in submitting any Servant projects for Google Summer of Code. I would love to see Servant continue to improve as an enterprise-ready web framework, but unfortunately there's only enough volunteer time to go around, so if you all are interested, perhaps we can use an issue like this to talk about improvements worth pitching? Also, it looks like there was a [submission earlier this year?]https://github.com/haskell-servant/servant/issues/463#issuecomment-393758000).
Here are the things that leap to mind for me:
If servant-devs think it's a good idea, perhaps there's someone who will step forward (with experience in previous years) to craft the submission?