Azuracast: Create SSO master api

Created on 23 Nov 2018  路  9Comments  路  Source: AzuraCast/AzuraCast

Describe the solution you'd like
Create an method to enable SSO login's to login the Azuracast webinterface

enhancement

Most helpful comment

Any organization large enough to have its own existing identity provider that they need integrated into AzuraCast is big enough to be sponsoring our project's development. I work incredibly hard on this project and the last thing I want to continue to do is make it possible for large enterprises to capitalize on that work while I struggle to even pay rent. I already feel like I went too far in giving businesses that option with the "remove AzuraCast branding" options in custom branding.

All 9 comments

@NLLucifer Which way are you describing: that you want to allow people to log into AzuraCast with other oauth providers (i.e. Twitter, Facebook, Google), or that you want people to be able to log in to other sites with their AzuraCast credentials?

Both require per-installation setup that isn't always simple or straightforward, which is why we haven't included them, since they will never work "out of the box".

I'd like to see a documented/official way for me to create a login from one of my own websites. So that if i login in my "panel", i press a button and i automaticly login to the azuracast panel.

This feature could make AzuraCast more suitable for bigger radio stations that already have other IT infrastructure in place for their user management. Could make sense to include this.

Any organization large enough to have its own existing identity provider that they need integrated into AzuraCast is big enough to be sponsoring our project's development. I work incredibly hard on this project and the last thing I want to continue to do is make it possible for large enterprises to capitalize on that work while I struggle to even pay rent. I already feel like I went too far in giving businesses that option with the "remove AzuraCast branding" options in custom branding.

That's a valid and good point. If that feature is really needed for someone he should be able to contribute in a way to the project to support you.

SSO is nice but there are a few standards for that (oauth/saml/openid/etc.), on top of that it sounds like this one may even be a custom-rolled one (being as you asked for code examples and not just support for a common SSO provider) which requires further open standards.

Definitely a non-trivial amount of work to do well.

To be honest i was thinking of solving it the way Rainloop did (https://github.com/RainLoop/rainloop-webmail/wiki/SSO-example).
I'll take a look if i can make it possible to do it like this using the new plugin system.

I'd like to see a documented/official way for me to create a login from one of my own websites. So that if i login in my "panel", i press a button and i automaticly login to the azuracast panel.

If you only want to have a Button as an one click login, you can use a simple form like this:

<form action="+AZURACAST URL+/login" method="post">
        <input type="hidden" name="username" value="+AZURACAST USERNAME/EMAIL+">
        <input type="hidden" name="password" value="+AZURACAST PASSWORD+">
    <input type="submit" value="Log In">
</form>

Another way for you can be to use a function for send the POST message to the azuracast Login form.
It's not a much safety option with this form, because everyone can read out the credentials, but if only you and users who can know the credentials see it, you can easily use this.

I'm closing this issue for now as I have no current plans to implement SSO, either as a consumer or as a provider, into AzuraCast. At its core, AzuraCast is meant to be its own little self-contained utility, and tying in with third-party services for OAuth would introduce outside dependencies and likely complicate setup and configuration for regular users.

On a positive note, I have been working hard under the hood to implement user management API endpoints, and you can now create roles and user accounts (and assign permissions to users) through officially documented API endpoints.

If any organization is looking for specific integration with their existing infrastructure, please feel free to contact me at the e-mail address on my GitHub profile and we can discuss building a custom solution for your project.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bebjakub picture bebjakub  路  3Comments

verdantsquare picture verdantsquare  路  3Comments

adamderann picture adamderann  路  3Comments

RemBdev picture RemBdev  路  4Comments

frozenplaya picture frozenplaya  路  4Comments