Foxtrek_64
Active member
One of the weakest areas of XF currently, at least in my opinion, is with the Connected Account Providers feature. As it stands, if you use OAuth to allow users to authenticate with third party services, you can only have one of each service (which does make sense for some providers) and you are only allowed to use providers XF has specifically designated as available.
I know this list can be extended by third party development, but it still tends to be pretty locked down, only adding support for specific providers.
I would like to suggest an overhaul to this system with the following changes:
I know this list can be extended by third party development, but it still tends to be pretty locked down, only adding support for specific providers.
I would like to suggest an overhaul to this system with the following changes:
- Change the list of providers to a list of configured providers.
- Add a button at the top to add a new provider, then like the create node button, prompt for which provider.
- Allow configuring on the edit page - same behavior as creating a node
- This allows for multiple providers to be configured, which is a benefit for some sites where they have a test/debug OAuth server and a live/prod OAuth server.
- List of providers
- Apple
- Microsoft (O365)
- X (Twitter)
- Another Xenforo Community
- WordPress (common request)
- Other OAuth 2.0
- MySQL Database
- LDAP
- Add a "Generic OAuth2 Provider" option to the list of configured providers and prompt for the following information:
- Provider name
- Allow ACP logins
- Allow front-end logins
- What to do when someone signs in for the first time
- Create an account
- Flag for review
- Reject (good for if you don't want people creating accounts this way)
- Create an account
- Grant Type
- Authorization Code
- Implicit
- Resource Owner Password Credentials (ROPC)
- Client Identifier
- Client Secret (for Authorization Code and ROPC)
- Client Authentication Method
- HTTP Basic (Recommended)
- Client Secret
- Scopes to request
- Authorization Endpoint (for Authorization Code and Implicit)
- Authorization Endpoint for ACP and Reauthorizations (for Authorization Code and Implicit)
- Leave blank to use regular authorize endpoint
- Token Endpoint
- User Information Endpoint (for OIDC)
- User ID parameter
- Display Name parameter
- Email Address parameter
- Profile Photo parameter
- Login button color
- Login button text
- Logo (image upload)
- Show in account settings
- Always (members will be able to associate their account if they haven't already
- Only if their accounts are already associated
- Never
- When remote display name changes
- Update local database
- Allow the member to choose what happens
- Do Nothing
- When remote email address changes
- Update local database
- Allow the member to choose what happens
- Do nothing
Last edited:
Upvote
7