sdassow / wiking

Golang based wiki engine with content in Markdown format, support for attachments, diagrams, git storage, and fulltext search
Other
2 stars 1 forks source link

User authentication #1

Open sdassow opened 4 years ago

sdassow commented 4 years ago

Could be OAuth based and support all kinds of login providers.

ocdtrekkie commented 4 years ago

It would be good if this was configurable, as discussed here: https://twitter.com/ocdtrekkie/status/1306291293170151430

In my case, I have been working on packaging "wiki", branded as "μWiki" (because James described his set of "micro apps" as such in some cases), for Sandstorm, which handles authentication outside of the app. I was blocked on the FontAwesome issue because we block client-side loading, and hadn't gotten around to fiddling with Go enough to fix it myself. ;)

In our case, we do provide HTTP headers to represent user display names (X-Sandstorm-Username), user Ids (X-Sandstorm-User-Id) and permissions (X-Sandstorm-Permissions), but the app itself doesn't need to maintain any real database of user accounts or anything. And apps without any concept of users or permissions at all "just work" in Sandstorm with reasonable security and sharing. I know a major alternative to Sandstorm uses LDAP, so that'd be another one to make sure can be plugged in besides OAuth.

(I was maybe a bit curious if there was a reason you were going with an "ng" fork. James isn't actively developing, but does merge PRs and such. I'm still developing my Sandstorm package, and I'd honestly prefer to base it on an actively developed project. Wiki seemed to kinda hit a very baseline minimal viability, since it didn't even have a working "last edited" date at the time. I may perhaps just want to switch it to using this one, but I was curious if you'd considered looking at maintaining his project or fully updating it to your latest instead of backporting bits and bobs.)

sdassow commented 4 years ago

Interesting, so adding it all up we have:

Making the configuration nice needs a bit of thought, and since you mentioned permissions, there's also authorization, which is something I left out intentionally so far.

Reasons for my "ng" fork:

ocdtrekkie commented 4 years ago

I will probably give a shot at re-basing my Sandstorm package on your fork. (I left a comment on the spell check external file issue, if you saw that.) The git back end is appealing too, as we have a bunch of other apps which you can interact with via git.