Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for passing authorization data through the studio plugin #885

Open
Zalymo opened this issue Mar 1, 2024 · 3 comments
Open
Labels
scope: plugin Relevant to the Roblox Studio plugin size: medium status: needs design Needs more planning before implementation status: on hold This is something we're not going to do right now, but might do later.

Comments

@Zalymo
Copy link

Zalymo commented Mar 1, 2024

There should be a setting for pasting in a secret key which is passed with the HTTPS request whenever the Roblox plugin sends a request to sync to the Rojo endpoint.

Example use case: I currently have my Rojo endpoint publicly exposed so that any developer on my team can open their studio and connect to the endpoint at any time to sync in changes (this works especially well if working with people who are in different time zones or are across the world). Since my endpoint is publicly exposed, I need to employ some form of authentication (to ensure my game's data isn't stolen if someone discovers the endpoint), and I currently do this in the form of remote IP verification.

However: there are more security vulnerabilities associated with this form of authentication, it's more tedious to maintain, and can be limited by location.

Instead, it would be better if the Roblox plugin allowed the developer to authorize themselves by passing in a secret key with the request (bonus points if it saves the secret key, just like how it currently saves the endpoint for quicker initialization). Even though this may be a niche use case right now, it ultimately helps open up the plugin to people (like me) who want to use Rojo with public endpoints for speedy collaboration, but are concerned with security.

@Dekkonot Dekkonot added scope: plugin Relevant to the Roblox Studio plugin size: medium status: needs design Needs more planning before implementation labels Mar 1, 2024
@Dekkonot
Copy link
Member

Dekkonot commented Mar 1, 2024

bonus points if it saves the secret key, just like how it currently saves the endpoint for quicker initialization

I'm not sure I'm willing to commit to this because local plugins (those not downloaded from the website) all share the same settings file so it would inviting people to store authentication keys in plaintext in a place other plugins can conceivably read from.

Otherwise, this seems reasonable and I'd like to support it.

@boatbomber
Copy link
Member

Even plugins that aren't local would still be writing a secret to an unencrypted file. I think we can revisit this when Roblox releases Secrets.

@kennethloeffler
Copy link
Member

Even plugins that aren't local would still be writing a secret to an unencrypted file. I think we can revisit this when Roblox releases Secrets.

Does anyone have any more information about these? I recall secure secret storage being announced at RDC 2023, and there's a mention of a Secret data type in the Roblox 599 release notes, but it's unclear if they'll be practical for use by plugins.

@kennethloeffler kennethloeffler added the status: on hold This is something we're not going to do right now, but might do later. label Mar 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: plugin Relevant to the Roblox Studio plugin size: medium status: needs design Needs more planning before implementation status: on hold This is something we're not going to do right now, but might do later.
Projects
None yet
Development

No branches or pull requests

4 participants