modchat icon indicating copy to clipboard operation
modchat copied to clipboard

[WIP] Implement Scratch Authenticator

Open YodaLightsabr opened this issue 4 years ago • 35 comments

PR is a Work In Progress; Implement #70

To-do:

  • [x] Backend
    • [x] Update index.js
  • [ ] Frontend
    • [ ] Add auth.html
    • [ ] Add script to set localstorage in auth.html
  • [ ] Test recent changes

YodaLightsabr avatar Mar 31 '21 02:03 YodaLightsabr

Ok I'm done for tonight; I'll add more tmrw. So basically if you don't already understand what's going on, here's a flowchart: Untitled drawing (9)

YodaLightsabr avatar Mar 31 '21 03:03 YodaLightsabr

Erm... Isn't the current auth system good enough? I really trust the built-in system more than a shady external one. Especially knowing some of the other contributions you have made to Modchat.

I might just flat out stop using modchat due to privacy issues if this gets implemented.

jessiejs avatar Apr 01 '21 00:04 jessiejs

@CodeLikeCrazE:

Isn't the current auth system good enough?

Actually, no. It's fairly buggy and I'm sure that there are ways to spoof it.

I really trust the built-in system more than a shady external one

Well, we were already planning on adding @Semisol's Scratch OAuth2 when it was finished, but that was because it was going to be hosted by the same people who made the original ScratchVerifier (plus it won't have password login).

Especially knowing some of the other contributions you have made to Modchat

Please remember to be respectful! 😟

micahlt avatar Apr 01 '21 03:04 micahlt

@CodeLikeCrazE:

Isn't the current auth system good enough?

Actually, no. It's fairly buggy and I'm sure that there are ways to spoof it.

I really trust the built-in system more than a shady external one

Well, we were already planning on adding @Semisol's Scratch OAuth2 when it was finished, but that was because it was going to be hosted by the same people who made the original ScratchVerifier (plus it won't have password login).

Especially knowing some of the other contributions you have made to Modchat

Please remember to be respectful! 😟

  1. And yes, it is kinda janky, but can’t you just fix the jankiness instead of using an entirely new auth system?
  2. Okay. EDIT: I just realized that this means that you won’t be using SOA2...
  3. Sorry, I’m just kinda shaky when it comes to “Who can be trusted to host an authentication system?”

jessiejs avatar Apr 01 '21 18:04 jessiejs

@CodeLikeCrazE:

Isn't the current auth system good enough?

Actually, no. It's fairly buggy and I'm sure that there are ways to spoof it.

I really trust the built-in system more than a shady external one

Well, we were already planning on adding @Semisol's Scratch OAuth2 when it was finished, but that was because it was going to be hosted by the same people who made the original ScratchVerifier (plus it won't have password login).

Especially knowing some of the other contributions you have made to Modchat

Please remember to be respectful! 😟

  1. And yes, it is kinda janky, but can’t you just fix the jankiness instead of using an entirely new auth system?
  2. Okay. EDIT: I just realized that this means that you won’t be using SOA2...
  3. Sorry, I’m just kinda shaky when it comes to “Who can be trusted to host an authentication system?”
  1. It would benefit both my system and modchat by streamlining it
  2. Eh, yes.
  3. You don't have to trust me. Give me your Replit username and I will invite you to the same instance that it's being hosted on. If you're worried about passwords, let me just clarify: this is not the only method; it's there so that people that risked their Scratch account to communicate on an external site, and then got banned, are still able to log in even if they can't run a project or post a comment.

YodaLightsabr avatar Apr 02 '21 02:04 YodaLightsabr

  1. I uploaded the wrong file you're not getting it. I never intended to cause that issue.
  2. This is arguably even more secure because it can link multiple Scratch applications to one login system, and once I implement an accounts system for my ScratchOAuth2 system, there will be fewer requests to the Scratch API and fewer opportunities for spoofing and vulnerabilities.

YodaLightsabr avatar Apr 02 '21 02:04 YodaLightsabr

@YodaLightsabr I'd highly recommend that you change the name since it looks like plagiarism.

micahlt avatar Apr 02 '21 02:04 micahlt

@YodaLightsabr I'd highly recommend that you change the name since it looks like plagiarism.

Yes. :100: Any ideas?

YodaLightsabr avatar Apr 02 '21 02:04 YodaLightsabr

Oh also @micahlt Can you hop on ModChat?

YodaLightsabr avatar Apr 02 '21 02:04 YodaLightsabr

@CodeLikeCrazE:

Isn't the current auth system good enough?

Actually, no. It's fairly buggy and I'm sure that there are ways to spoof it.

I really trust the built-in system more than a shady external one

Well, we were already planning on adding @Semisol's Scratch OAuth2 when it was finished, but that was because it was going to be hosted by the same people who made the original ScratchVerifier (plus it won't have password login).

Especially knowing some of the other contributions you have made to Modchat

Please remember to be respectful! 😟

  1. And yes, it is kinda janky, but can’t you just fix the jankiness instead of using an entirely new auth system?
  2. Okay. EDIT: I just realized that this means that you won’t be using SOA2...
  3. Sorry, I’m just kinda shaky when it comes to “Who can be trusted to host an authentication system?”

Okay, kind of a shameless plug but SOA2 is going to be hosted on the wiki, out of my control, even if I wanted.

  1. I uploaded the wrong file you're not getting it. I never intended to cause that issue.
  2. This is arguably even more secure because it can link multiple Scratch applications to one login system, and once I implement an accounts system for my ScratchOAuth2 system, there will be fewer requests to the Scratch API and fewer opportunities for spoofing and vulnerabilities.

"This is arguably even more secure because it can link multiple Scratch applications to one login system, and once I implement an accounts system for my ScratchOAuth2 system, there will be fewer requests to the Scratch API and fewer opportunities for spoofing and vulnerabilities."

Same with SOA2.

Semisol avatar Apr 02 '21 03:04 Semisol

Also could you maybe read the OAuth2 docs to make sure your implementation exactly matches what the protocol says?

Semisol avatar Apr 02 '21 03:04 Semisol

oh god this is becoming a hot mess

Semisol avatar Apr 02 '21 03:04 Semisol

Also could you maybe read the OAuth2 docs to make sure your implementation exactly matches what the protocol says?

It is still in development.

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

Also could you maybe read the OAuth2 docs to make sure your implementation exactly matches what the protocol says?

It is still in development.

I would not recommend something in development and has not been harshly tested in production.

Semisol avatar Apr 02 '21 03:04 Semisol

@micahlt Also, contributor apps open? Also can you please add auth to mod APIs

Semisol avatar Apr 02 '21 03:04 Semisol

I would not recommend something in development and has not been harshly tested in production.

And yours is finished? No, it is not.

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

I would not recommend something in development and has not been harshly tested in production.

And yours is finished? No, it is not.

I am not implementing a PR right now for it. I am just bringing up the issue. You are straight up making a PR to implement functions using untrusted/potentially vulnerable and untested APIs.

Semisol avatar Apr 02 '21 03:04 Semisol

I am not implementing a PR right now for it. I am just bringing up the issue.

I'm not sure you understand what WIP means. It's not finished, and it's meant to provide a way to test it out, not immediately put into production.

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

And the APIs are tested.

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

And the APIs are tested.

Security tested using a lot of attack vectors?

Semisol avatar Apr 02 '21 03:04 Semisol

And the APIs are tested.

Security tested using a lot of attack vectors?

If you know it all, what would that include?

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

And the APIs are tested.

Security tested using a lot of attack vectors?

If you know it all, what would that include?

Try to break it.

Semisol avatar Apr 02 '21 03:04 Semisol

I am open to suggestions and this is not complete. Yes, as with anything, there will be flaws.

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

And the APIs are tested.

Security tested using a lot of attack vectors?

If you know it all, what would that include?

Try to break it.

I have. And you're welcome to as well.

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

Also, I kind of have a feeling you are trying to push your solution over mine no matter what. :/

Semisol avatar Apr 02 '21 03:04 Semisol

Also, I kind of have a feeling you are trying to push your solution over mine no matter what.

I'm really not. But you're the one making every possible excuse that mine is bad.

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

Also, on a completely different subject, we need a fix for this: image

YodaLightsabr avatar Apr 02 '21 03:04 YodaLightsabr

  1. Sorry, I’m just kinda shaky when it comes to “Who can be trusted to host an authentication system?”

Can get that, and I would be concerned too.

Semisol avatar Apr 02 '21 04:04 Semisol

  1. Sorry, I’m just kinda shaky when it comes to “Who can be trusted to host an authentication system?”

Can get that, and I would be concerned too.

You shouldn't be trusted any more than me. And besides, my code is open source.

YodaLightsabr avatar Apr 02 '21 04:04 YodaLightsabr

  1. Sorry, I’m just kinda shaky when it comes to “Who can be trusted to host an authentication system?”

Can get that, and I would be concerned too.

You shouldn't be trusted any more than me. And besides, my code is open source.

Your open source claim is NOT VALID. I told you a million times I am open sourcing it after release, this was Ken's decision. Also, I am hosting this on servers out of my control. Well just consider it as "trusting the wiki bureaucrats" and "trusting some random".

Semisol avatar Apr 02 '21 04:04 Semisol