BeWelcome / rox

:earth_africa: BeWelcome lets you share a place to stay, connect with travellers, meet up and find accommodation on your journey. It is and will always be a free, open source, non for profit, democratic community.
https://www.bewelcome.org
GNU General Public License v2.0
188 stars 54 forks source link

Linking to BeWelcome with oAuth #12

Open simison opened 9 years ago

simison commented 9 years ago

Heya!

Would you guys be interested in adding oAuth to BW? I'd like to have verified links to BW profiles from @trustroots profiles.

Right now I'm simply asking for BW username and forming a link from it:

image

Output:

image

Maybe in the future this could be developed towards something where changing hosting status at one site changes it at all the other hospex sites as well...

Upon the same topic at WS: https://github.com/warmshowers/Warmshowers.org/issues/716

amnesiac84 commented 8 years ago

The BoD spoke out positively about this idea in the meeting of September 2015, as long as it's not too much of a hassle to implement.

simison commented 7 years ago

Just adding these here —

Symfony:

Barebone PHP:

;-)

simison commented 7 years ago

I noticed this will be discussed again on sunday. Some food for thought why BW should have oauth:

  1. People can then build features on top of BW that BW doesn’t have. It’s an easy to way to demo or iterate new features without needing to build them into core.

  2. It’s a good beginning point for an API, which then eventually would invite anyone to build native mobile apps for BeWelcome. Adding oauth would be an open invitation for volunteers to improve and extend it by building an API around it. Authentication is the first logical step for an API. By the way, TR will have a mobile app soon. That was possible only because we published an API and thus two volunteers stepped up and started working on the app. Warmshowers and CS of course already have mobile apps.

  3. It's free advertising for BW on other platforms, which would be allowed to confirm BW profiles using oauth.

Some less technical material to help to understand what oauth is:

Some quite technical materials to understand “authorization code” grant method, which is the most common and probably most suitable for BW, too:

vincentchalamon commented 4 years ago

Hi folks,

Just saw this issue, is it still relevant? I'm not sure BW already has any OAuth server. I would be happy to work on it. As @simison suggested, it would be a good beginning point to migrate to an API.

The PHP League is about to release a Symfony bundle for its OAuth server (end of august I guess), it could be a good implementation: https://github.com/thephpleague/oauth2-server-bundle

About API, I suggest API Platform. I'm a core-team member, and could help to implement it properly in BW.

The API approach would definitively improve this project:

What do you think @amnesiac84 @thisismeonmounteverest ? If you're interested, how can we plan a roadmap for it?

thisismeonmounteverest commented 4 years ago

@vincentchalamon I'd be happy to see this done.

Regarding roadmap, we should focus on the needs of a possible app: Profiles, Search as a MVP. New features like the Trips feature should directly be implemented using the API platform.

vincentchalamon commented 4 years ago

BTW, if we're using Mercure, we could use a managed version for free as BeVolunteer is a non-profit organization: https://mercure.rocks/pricing