Announcing general availability of Open Cloud OAuth 2.0

We’re excited to announce that we’re officially launching Open Cloud OAuth 2.0 as generally available! This will accelerate the growth of the third-party app ecosystem, while also ensuring safety and civility.

Since our public beta in June, more than 2,300 apps have been created, which clearly indicates OAuth 2.0 is a highly valuable feature for the community. And with the launch of User Inventory API and Groups Read API, we hope to see this trend increase.

Beyond more APIs, we have made the following improvements based on your feedback:

  • Support CORS for front end only apps; please follow the PKCE flow with enhanced security

  • When profile scope is required, OpenID responses now includes the user’s avatar thumbnail URL

  • The user authorization screen groups permissions requests under “Your resources” and “Your experiences” (See the screenshot below.)

Ensure Safety and Civility

To prevent malicious apps from impacting the ecosystem, we have implemented proactive review since releasing our public beta. However, bad actors could disguise their apps to look legitimate in the beginning and change their code later. To protect the community, we have implemented a reactive process. Here’s how it works when a user reports an app in the App Permissions page:

  • Our system and moderators will monitor the reports and investigate suspicious apps
  • If an app is determined to have violated our policy, we will take certain actions (warn, ban, etc.) depending on the severity
  • The app owner will receive emails regarding the consequences with instructions for appeal if needed

In addition to user reports, we will periodically re-check the approved apps to ensure they continue following our policy. We believe it is critical to leverage all approaches to ensure that the app ecosystem can grow and thrive in the long term.

No matter whether you want to build an app for others or write scripts for yourself, we hope OAuth 2.0 and API keys set a solid foundation for you to take advantage of Open Cloud APIs! Please let us know if you have any feedback. To get started, go to the Creator Dashboard to create your first app.

Cheers,
The Roblox Creator Services Team

87 Likes

This topic was automatically opened after 11 minutes.

WOOOOOO YEAH BABY THAT’S WHAT I’VE BEEN WAITING FOR

however:

  • datastore access when?
  • i’m confused on the criteria on some of these scopes (read groups is ‘Moderate’, yet this is public data? write secrets is High, but read secrets isn’t?)
  • Also, docsbug?

Currently, you can register apps for only individual accounts. Groups are not supported.

This seems definitely not to be the case, even if the site isn’t letting me change the ‘Creator’ drop down value while on this page.

15 Likes

GA: general availability

39 Likes

My follow-up on this: We have a live, production app for our team under our group. Does this mean that apps for groups are being rolled-back?

12 Likes

iirc they told the alpha group that datastore scopes will likely never be supported. i forget why though.

edit: compliance :sparkles:

12 Likes

This is not the case, you can read all group permissions you have access to via the api, and I can only assume that will be much more powerful in the future with possibly even supporting audit log read access?

10 Likes

The screenshot before was not accurate. Updated to new one.

13 Likes

understandable. still no CORS access, even with an API key ::

9 Likes

:goat:

8 Likes

@dragonknightflies This update appears to have broken OAuth in cases where the redirect URI is localhost, Any app that has it’s redirect URI set to localhost is giving the following error and throws a CORS HeaderDisallowedByPreflightResponse error for the Baggage header on https://apis.roblox.com/oauth/v1/permission-request (I think sentry’s leaking headers where redirect_uri=localhost in production?).

We’ve tried the same app with different redirect URIs (one being production and the other being localhost) and it worked on prod, the only difference in /authorize was redirect_uri (and of course the PKCE codes).

6 Likes

Now we wait for a working npm package

4 Likes

For what specifically? There are already open source libraries you can use to implement OAuth2 and there are some framework specific packages for things like Express, NextAuth, and PassportJS already available on Github.

4 Likes

are the supported scopes and their uses documented anywhere? can’t seem to find it, the only way was using /.well-known/openid-configuration which - according to the docs - contains private/unsupported scopes
if not, I do hope there’s better documentation of that

4 Likes

For example, a few months ago I was working with clerk.dev authentication, and since Roblox oauth isn’t officially implemented the experience trying to use it was pretty terrible. I did end up making my own solution though

4 Likes

Thank you for bringing this up. This is now resolved :slight_smile:

6 Likes

Clerk supports custom OAuth flows, but I’m not sure if it was recently added or not. Not sure what an npm package would have to do with this though.

4 Likes

Yes, you are correct. We have the CORS issues resolved for OAuth specifically and will look into API Key support as well.

5 Likes

For another example, months ago I was working with some outdated Roblox oauth passport package. I am well aware there’s the possibility of custom oauth implementation. That’s what I ultimately had to do. I’d love to debate you further on this, but I won’t.

2 Likes

I’m not debating. I’m asking because I use Roblox OAuth personally and I’m interested in your use case to potentially publish a package or example repository myself.

2 Likes