Readit News logoReadit News
Posted by u/2Gkashmiri 3 years ago
Ask HN: Developer abused “sign in with GitHub”?
The offending website "nopecha.com", which unfortunately i found about a week ago on HN itself appeared to be another captcha service but one that was offering "1 Sec" solve speed for text captchas. i was interested and by the looks of it, a lot of people. their webisite only had "sign in with google" so i didnt bother. The day before i check the website out of boredom and saw "sign in with github". i logged in, clicked through a bunch of pages because its the same drill everytime. i found out that i had "automatically starred their repos". by the looks of it, around 500 "stars", the last i saw.

suddenly i am unable to log in to my github and the page just says "account suspended."

contacted their support and the last response i got from them was "your ban should stay as you engaged in improper behavior of stars farming" or some other BS.

Here is my problem. I am not a part of nopecha. I just used their website once using "sign in with github" button. That is the extent of my involvement.

How can github allow the developer to use "sign in with" button to create a situation that they could LATER consider abusive but then go ahead and ban all the victims also?

i did not voluntarily want to join their abusive practice, i just wanted a log into the website. (There was no explicit mention of the stars farming practice on the website) Why is github allowing the developer to abuse their Oath in the first place?

If this is going to be a norm going forward, i do not see any hope of "sign in with" buttons for any service because then you could be banned from one service and suddenly everything connected to your account is also banned.

I honestly expect the "sign in with x" button to provide a frictionless access to a website, thats it. how could the developer abuse that process and the website, instead of acting on the developer alone, are causing trouble to unsuspecting victims?

edit: to add a bit more context, here is the first reply i got from github on my support request

"Your account has restrictions imposed because it appears to have been used for the purpose of artificially inflating the popularity of GitHub accounts or repositories.

This activity isn't in keeping with our Terms of Service.

We'll need to leave the restrictions in place."

I knowingly or unknowingly accepted to allow the app to access my stars action or whatever. i did not engage in this practice myself, their automated system did. i even had "forkhub" android app and i did see "stars" and i remember unstarring 4/5 of their repos myself so its not like i did not try to undo their actions.

the problem here is. 1. if github is allowing developers to include their permissions alongwith the SSO workflow 2. github is allowing apps write action to stars from the users accounts which can be legitimate or not. 3. user is not responsible for automated actions taken without their consent or even if consent was there, user is not aware of the "actual scope" meaning app could say "you allow us stars access" but not "you allow us stars access with the knowledge that such permission can be a banable offense, you are warned" 4. unless the user is a sockpuppet account created for the sole purpose (by checking age/activity of user), is it reasonable to throw the banhammer so quickly on everyone involved? 5. why did github not ban the original dev, stop the users from starring for a "cooling period" or "undid their stars" ? why was a ban necessary?

jrochkind1 · 3 years ago
I partially blame github for having very un-granular permissions -- a sign in with github ought to be possible without granting the site any permissions to do anything at all on behalf of your account, other than verify your identity via OAuth.

But I have no idea if that really is possible, and we have gotten used to granting sites permissions to github, specifically, beyond what they really need, because github often doesn't make it possible to give them what they really need. So we've been trained to be like, sure, whatever, okay, grant permissions.

(I used to complain to third-party sites when they were asking for more github permissions via oauth than they needed, and even say I woudln't use their service becuase of it. The answer was invariably "Sorry, github won't let us get the permissions we need without this overreach", and the times I had the energy to investigate, it looked like they were right! And we're talking really basic things, like read-only to a single private repo without write to all private repos in all organizations!)

However, on top of all that... this site is offering to automate solving captchas for you? Is there any non-sketchy use for this? I guess I am not too shocked that a site offering to take your money to help you bulk trick your way past captchas is... doing something else unethical too?

Sakos · 3 years ago
I think one other thing is missing. There's generally no way to review what a service or app does with the permissions it gets. There should be an access log for any API used through OAuth so you can ensure that what you signed up with is actually doing what it says it's doing with the permissions you've given it.

edit: And once there's an access log, there should also be a way for users to flag/report suspicious activity for review. There's so much more we could be doing to protect users.

Sakos · 3 years ago
Also, why can't I set a phantom/virtual/dummy profile for a specific app/service asking for permissions? Why do I have to choose between not using something and giving it access to everything it wants? Why can't I choose which real data it's allowed to see and which is dummy data, regardless of permissions?
mook · 3 years ago
I also blame GitHub for not having a way for a user to grant only some of the permissions requested. Every once in a while somebody on my team will try to look into CodeCov integration, because it sounds useful. And then we realize it wants the ability to write to our repo, plus the ability to manage arbitrary hooks, when it should just need the ability to write check results and read the (public) repository. Every time we give up and don't use it.
ranger_danger · 3 years ago
Just make a duplicate repository under a different name for the sole purpose of codecov and other such integrations.
khuey · 3 years ago
Pretty much everyone who uses GitHub for auth is going to want the user:email scope. But you can definitely do OAuth where that's all you ask for, and have no permissions to mess with the user's account.
BeetleB · 3 years ago
Github has recently introduced fine grained tokens.

https://github.blog/2022-10-18-introducing-fine-grained-pers...

jkaplowitz · 3 years ago
That's good progress to see! But in addition to that being a public beta launched less than 2 months ago, that doesn't seem to cover the case of "sign in with GitHub". It's for personal access tokens, not OAuth.
ok_dad · 3 years ago
> ...this site is offering to automate solving captchas for you? Is there any non-sketchy use for this?

Accessibility.

ajolly · 3 years ago
Yeah, I would pay to reduce the number of clicks. Already using voice to text and a fancy professional mic.
azinman2 · 3 years ago
Don’t the good captcha sites have audio and other means as an alternative?
kelnos · 3 years ago
> Is there any non-sketchy use for this?

Aside from accessibility, which a sibling poster noted, there's also just: CAPTCHAs are effing annoying. I am so tired of proving I'm not a robot over and over and over by giving Google free labor training their image recognition models.

noah_buddy · 3 years ago
Is it free labor? You’re essentially paying for access to “free” services
unilynx · 3 years ago
GitHub can do that. Eg if you try to use GitHub to sign into gitlab.com:

GitLab.com by GitLab wants to access your unilynx account

- Personal user data

- Email addresses (read-only)

This application will be able to read your private email addresses.

jazzypants · 3 years ago
Yeah, I am very new to the dev world, but I was blown away by the amount of information that GitHub let me have for free when using their oAuth implementation. I'm honestly glad to hear this isn't normal.
_tom_ · 3 years ago
Or it didn't really use Oauth, and just outright stole his password.
redbell · 3 years ago
While providing third-party login services as way to sign-up had some benefits, omitting the "Sign-Up with email" option downgrades the experience dramatically. And, you know what? Providing only third-party sign-up options with "unnecessary" privileges ruins the entire experience.

A few weeks ago, I wanted to sign-up for a Product Hunt account, and in just a few seconds, my experience.. you know.. "downgraded" because there was no other way to sign-up other than through third-party services. After hesitating for some time, I forced myself to try to sign-up with my Twitter account. I clicked the Twitter icon, and it took me to Twitter, where I got these "cute/honest" permissions requested by the app I'm willing to authorize:

1. See Tweets from your timeline (including protected Tweets) as well as your Lists and collections.

2. See your Twitter profile information and account settings.

3. See accounts you follow, mute, and block.

4. Follow and unfollow accounts for you.

5. Update your profile and account settings.

6. Post and delete Tweets for you, and engage with Tweets posted by others (Like, un-Like, or reply to a 8. Tweet, Retweet, etc.) for you.

7. Create, manage, and delete Lists and collections for you.

8. Mute, block, and report accounts for you.

9. See your email address.

Oh man! 4 and 5 and specially, 6 are my all-time favorites. Are all these permissions really needed to be able to create a PH account with my Twitter? I mean, cmon.. this is not supposed to be an alternative front-end app for Twitter like "Apollo", "RiF" and "Relay" are for Reddit, this is just a website where people post their e-products once they launched, simple, huh!

I cancelled this process, and I still haven't created a PH account yet, but hearing OP screaming with this scary submission today makes me think again 'n' again.. maybe forever.. to proceed down this path.

capableweb · 3 years ago
Funniest shit is when you finally sometimes fall victim to the feeling of "Ok fine, I'll use Twitter for the auth so I don't have to fill out the fucking 10 field form just to be able to sign up, why you need to know my current position anyways?" and when you're finished, they're just using the auth to autofill the username and email for the signup form and you have to fill it out regardless.
weird-eye-issue · 3 years ago
This is the absolute worst and why does it seem to happen 80% of the time?
varispeed · 3 years ago
Before 3rd party sign up existed, I remember there were patterns, where the website you have registered had an option to add your "friends". Caveat was that it asked for your email and password to your email, so it could download your list of contacts. Crazy part is a ton of people didn't see a problem with this...
ilyt · 3 years ago
...Didn't fucking facebook did it at one point ?
itsacomment · 3 years ago
Wait, after finding out the site is obviously just trying to grab as much info from you as can be profitably marketed and even after it sets itself up for further abuse, you are still considering signing up?! I really hope I'm missing sarcasm there, cause otherwise you need to readjust the amount red flags you are willing to ignore.

"Sign up with" is a tracker's paradise anyway, but not even offering something untrackable like email is just screaming out for everyone to hear that you are the product. With the abusive access demanded, it's down to victim, really.

Have some pride, people, and don't fall for these scams!

BlueTemplar · 3 years ago
What I don't understand is that OAuth (and related) is supposed to be a protocol, so why can't I as a user get the option to enter one ?

Imagine if you could only pick Gmail or Outlook in the form for email !

alexiaa · 3 years ago
that was a thing with openid but it pretty much died out.
sbergot · 3 years ago
Obviously bad permissions are bad. But "sign-up with email" means that you need to manage you users identities which is complex and risky. You can delegate that using something like Auth0 but then it costs you money.

If I am creating a new service today I will probably won't bother and just offer social logins.

capableweb · 3 years ago
> which is complex and risky

It really isn't, it's fairly basic. It's mostly "basic" because people have been implemented those things for so long that there basically are established patterns you can reuse with very few drawbacks.

As long as read up on how to implement it and use common sense, you can get authentication working (& being secure) under a day.

Edit: Today you can even do it the lazy way and implement "passwordless" email login as a step to see if it's worth implement the simple email+password way later. Basic steps: 1) Allow users to request login, which creates a login token in the DB and sends a URL to the users inbox 2) Allow users to exchange login token for a auth token that eventually expires somehow, delete login token from DB and store login token 3) be able to lookup if a login token is correct when hitting other API endpoints

Congrats, you now have a basic authentication scheme

mort96 · 3 years ago
That ruins the experience for all users who don't want to give you their Facebook or Twitter.
acheron · 3 years ago
I will never use social logins to sign up for anything. What a terrible idea. I assume anyone doing that is just doing it for tracking or scamming purposes.
never_inline · 3 years ago
If you have a password manager synced across browsers, like chrome or firefox's builtin ones, it should be fairly simple, right?
ThunderSizzle · 3 years ago
I really don't see how using KeePass or alt is hard, and it doesn't cost money.

If anything, it's 2FA that has me more concerned, because it has made my phone number a near single point of failure with the way everyone wants to use my phone number for it still.

JohnFen · 3 years ago
You'd be excluding a whole lot of people who don't have any social media accounts, and a lot of others who aren't willing to use them for this purpose.
jraph · 3 years ago
Good luck.

For others, let this serve as another lesson to never sign in somewhere with any account if you can help it.

This week there's also this other person that says there are soft locked into Google because they signed in with Google to many places.

Go to the trouble of creating a regular account. It's less trouble in the end. (here it was not possible, but of course, it looks like it was a scam, so maybe it's a red flag anyway)

DarrenDev · 3 years ago
You can't always avoid it.

I had an incident only a week ago where I had to sign up to Snyk and the only way to do so was to use a third party sign in -- no option to create a new account using email.

The end results was me signing in using a Google account tied to the client, resulting in an immediate account disabled message from Google. It took a week to get the account re-opened, but left a bad taste in my mouth. If a billion dollar company can't be bothered to create their own sign in, what can we do?

I was so pissed off at the time that I wanted to open a support ticket with Snyk and vent, but of course, couldn't find any way to do that on their website.

Tepix · 3 years ago
The best way to fix the problem is not to sign up to such companies and complain instead. If you can't find a feedback form, perhaps they are not interested in feedback? In that case there's always twitter.
stainablesteel · 3 years ago
just heard of snyk and googled

> Snyk is a Boston-based cybersecurity company specializing in cloud computing...

how is it secure [or wise] to require you to share an external login?

that's infuriating

JohnFen · 3 years ago
> You can't always avoid it.

I've managed to. It does mean that some services are unavailable to me, but that's life.

jraph · 3 years ago
Maybe a way to handle this kind of situation would be to create a dedicated Google account?

(I haven't encountered the situation myself, didn't try it)

benplumley · 3 years ago
Tailscale only allows you to create a new account by signing in with Google, Microsoft or GitHub. It's a real shame because it's a great service otherwise, but this left a very sour taste.
Tepix · 3 years ago
I don't use services that force me to give up privacy like that. A VPN service no less? That's almost funny.
dismalpedigree · 3 years ago
Yep. Single reason we don’t use them anymore. Great service, but we don’t have corporate MS, GitHub or Google accounts.
gdhdjdvr · 3 years ago
Head scale FTW? I mea n you need to self host it and deal with all that... But it is your network...
kelnos · 3 years ago
It does look like they support SAML and OIDC. I think the idea here is that many (most?) Tailscale users will be corporations, and most corporations would rather integrate Tailscale access with their existing auth system, and not have an extra employee account to deal with that needs to be disabled when the employee leaves the company.

That does make things harder for small shops where things are more ad-hoc, or an individual hobbyist who wants to use it. But not sure how much of Tailscale's market consists of people like that, or if Tailscale even cares that much about that segment. No judgment if they don't; that's a perfectly reasonable decision to make.

seany · 3 years ago
You can add your own external provider. I'm using them with Okta at the moment.
glogla · 3 years ago
Oh that's a shame.
stickfigure · 3 years ago
If you want anonymity, why not just create new Google/Microsoft/GitHub accounts? How is that different from creating a new "Tailscale account" - presumably with what, your existing gmail address?
plugin-baby · 3 years ago
> For others, let this serve as another lesson to never sign in somewhere with any account if you can help it.

+1 to this. I got locked out of my StackOverflow account because they stopped supporting my auth provider, I think a couple of years ago.

CannisterFlux · 3 years ago
Not sure if you care any more after a couple of years, but https://meta.stackoverflow.com/q/309839

This question is about a Facebook account that was deleted but it should apply to OpenID providers that go away too. The mods' comments seem to indicate that the "Contact Us" link gets you through to a human that may be able to help as well.

nashashmi · 3 years ago
I came across the same realization after disconnecting from twitter. I am signed into multiple places using twitter. Even though I have deactivated my account, I have to reactivate every time to login on a site like disqus.

FB, Twit, Goog, need to separate oauth login from the rest of their service.

anshumankmr · 3 years ago
You say the morally correct thing, but being a Managed Identity Provider is gonna cost loads of money and they really have no business incentive to do this, in fact it may be negative for some of their KPIs like the no. of sign ups they have on their site.

The best course of action would have been for you to de-couple your Identity Provider from your account completely, I have done that over a course of a few months. I have de-coupled myself from Google Sign in on my most frequented sites, using Email + a Password manager + 2FA wherever its supported. though I have also have even used Apple's sign in for some apps

fancyfish · 3 years ago
Can you trigger the reset password flow on disqus, etc? That’s what I’ve done on a few sites to disconnect from 3rd party oauth and use email instead.
nashashmi · 3 years ago
Anyone know how to list which sites I used my twitter login on?
pmontra · 3 years ago
There is no way to create a regular account on Travis. It's only sign in with GitHub and a few others that they added recently.

https://app.travis-ci.com/signin

I understand why they are doing it, because they have to pull from GitHub, but it's not the only way. They could create a regular user on GitHub and ask people to let that user pull from their repositories. Obviously it's more trouble for the user, it would harm adoption and growth, that user could be banned and halt all of Travis.

Travis is the only site I have ever used in that way, because I have a customer that uses it. With hindsight I think that I should create a per customer account on GitHub, just in case something bad happens to Travis.

toastal · 3 years ago
I believe it goes against the ToS for Microsoft GitHub to have more than one account per human.
devjab · 3 years ago
> With hindsight I think that I should create a per customer account on GitHub, just in case something bad happens to Travis.

Is it too late to do that?

My immediate line of thinking to this thread of "sometimes you have to use an account to sign in" was that then you'll need to create a new account specifically to sign into that service. If you have to sign into that service. Maybe I'm weird, but I tend to even use a DuckDuckGo e-mail when I sign up, so that a specific service is in no way linked directly to me and so that I can stop forwarding e-mails from any specific service.

To be fair, I sort of wonder why Github has an API that allows 3rd parties to star projects with your account. I get that the author of this post on HN is responsible for not reading the "clicked through pages" part of the processes and that they should consider themselves sort of lucky it was only abused for star farming, but why do we have that sort of "facebooky" functionality on Github in the first place?

BHSPitMonkey · 3 years ago
> With hindsight I think that I should create a per customer account on GitHub, just in case something bad happens to Travis.

In case you missed it: https://news.ycombinator.com/item?id=33906591

matkoniecz · 3 years ago
Or do not do

> i logged in, clicked through a bunch of pages because its the same drill everytime

GitHub is clearly listing list of permissions, and yes - I check it before accepting log in and in some cases have not granted permission because scope was overly large.

arc-in-space · 3 years ago
Whoa, I'm very surprised at the amount of "told you so" and blaming the user in this thread. How many times are we going to retread the same tired arguments in this industry? Not everyone who uses github and other SSO sources is a elite hacker that knows exactly what the buttons they're pressing mean, plus sometimes we just make dumb mistakes. At the very least github should make it much higher friction to give a third party access to fuck with your account, and only make it dead simple to act as a identity provider.
message · 3 years ago
This. Also the whole situation reminds me the early days of Facebook, when people abused your account with posts to the wall and so on.
iamsaitam · 3 years ago
You don't have to be an Elite Hacker to read a permissions list and be informed about what you're consenting to.
nulld3v · 3 years ago
The UX for the authorization prompt is awful. The only difference between a regular sign in prompt and authorizing access to repositories is a single word: "Repositories".

For example, these two prompts look very similar:

https://community.atlassian.com/t5/image/serverpage/image-id...

https://user-images.githubusercontent.com/2584493/51578239-b...

But they have entirely different levels of access!

vertis · 3 years ago
Everyone over reaches on permissions though. It's practically industry standard to ask for a whole bunch of permission you don't need. Such that the likes of Google have multi-year efforts to crack down on it and reduce the ability to do it (in say Android).

It's also a matter of UX. Github (or anyone with social login) should be clear about what your granting. "Do you trust this website? They will be able star repos on your behalf"

abdulmuhaimin · 3 years ago
because every time this happened, I will always think, great, now company gonna waste another resource for the benefit of the stupid, careless, lowests common denominator, and absolutely no benefit whatsoever (or worse) to people with common sense.
ThunderSizzle · 3 years ago
Is it really a waste of time for Github to target the site instead of the users?

If anything, Github already wasted time by targeted the user into a victim, rather than the original source of the API call.

vertis · 3 years ago
Bad actors exist everywhere and manage to get even distinguished security people at times.

What you're doing is victim blaming. The phishing/scamming equivalent of shouldn't have been walking down an abandoned street at 1am in the morning.

saalweachter · 3 years ago
I'm going with, no, GitHub shouldn't have banned your account. Disproportionate response.

They've bundled several different functionalities together in a GitHub account, but the core functionality is to publish public git repos, or access private ones. Account banning for abuse should relate to you not being trusted to do those actions, not the secondary actions. If you published deceptive malware repos masquerading as other projects, sure, ban the hell out of you. If you use your private repos as the nexus of a botnet, likewise.

"Use your stars to participate in GitHub popularity contests" is, like, a tertiary functionality of your GitHub account at best. If you can't be trusted with that, it should be separable from the rest of your account. Set a flag on your account that prevents your star from contributing to votes. Hell, give me a config option that lets me turn off my stars counting.

Banning your account wholesale is overkill and unreasonable.

gambiting · 3 years ago
For all their faults, that's something that Amazon actually does well - abuse their reviews system, you will lose ability to write new reviews/rate products, but you can still access all other functionality.
AgentME · 3 years ago
It's nice they handle that case well, but Amazon has similar arbitrary account lockout issues. I tried to buy an Amazon gift card for a friend, and I got locked out of my Amazon account entirely, including all of my Kindle ebook purchases and my AWS account (which had some backups in S3). Their system thought my account got hacked and was being used by a hacker to buy a gift card. It took a lot of back and forth interactions with support before I could convince them that there was no hacker involved and I wanted my account back. It was only once I mentioned the large amount of Kindle ebook purchases I lost access to that they finally budged. I even had 2fa set up and my phone number connected to the account that should have been able to verify my account. Thank god it didn't go worse and I wasn't using AWS for anything important at the time.
schemescape · 3 years ago
I know this doesn’t help your current problem, but there should have been a list of permissions your were granting during the setup flow. Anything more than asking for your identity is the indicator that a site could cause you trouble, unfortunately.
anyfactor · 3 years ago
Permission overload exist specially when you are allowing users to sign up to third party sites with your platform credentials.

Any platform that offer easy to use API, openID or integration service should be concious about what they consider to be a vulnerable and what can be easily exploited. The amount of meaningless authorization buttons we have to press is astounding and it should be considered by all platforms. This argument doesn't advocate for strict integration control and disabling their OpenID features.

Any system that chalks up massive amount hassle to people only due to "human error" is poorly designed.

modeless · 3 years ago
The problem is GitHub's permission system is bad. I'm not sure if the problem is that legitimate apps are required to request way more permissions than they want to get the ones they need, or if the prompts themselves are basically crying wolf all the time ("act on my behalf"? That could mean literally anything, why are you showing me that at the bottom of a list of other permissions? Doesn't it imply all the rest?).

So the only way to use them is to either deny most legitimate apps because of scary permissions, or learn to click past the prompts to get your work done. If people do the latter due to a bad system then GitHub is not blameless here. They need to fix their system.

dheera · 3 years ago
Many of these permission grant UIs are bad. It should always be possible to grant some permissions and not others, and optionally, if a website does not receive a permission it should be able to send fake data in a well-formed API response response to fool it into thinking it actually got the permission.
Aissen · 3 years ago
> if a website does not receive a permission it should be able to send fake data in a well-formed API response

That's what you do when you're user centric. But it's also actively hostile to developers. What you should do is preserve a balance:

- let developer know permissions have been refused (no need to go chasing fake data)

- tell users to report apps that simply stop working without a given permission. It should be a separate "report button" that is on the same page as the "give permission" UI.

But this means you'll need people to review those reports properly, otherwise there is no balance. And that is why it's never done like this.

2Gkashmiri · 3 years ago
agreed. 100%. in hindsight, but you know how you sign in to netlify or to some other website, the same thing happens, you are supposed to accept and there is no "continue without giving these permissions" so its an "either you continue or go back and dont use" thing..... i am saying, over 500 people fell for this and this is a good example of "permissions overload" and other such phenomenon. you just go through the flow because you expect everything is in order
philsnow · 3 years ago
> you are supposed to accept and there is no "continue without giving these permissions" so its an "either you continue or go back and dont use" thing

I can't remember the site that does/did this, but there was some site that wanted you to log in with OAuth2 through some identity provider and they initially ask for access to your contacts. If you click 'cancel', it sends you back through the OAuth2 flow but without the "read contacts" scope. Sketchy dark pattern BS.

MzHN · 3 years ago
I wish SSO providers allowed users to individually decline requested scopes when logging in.

It would be a PITA for developers, but if it was the norm, you wouldn't think about it twice.

The minimum scope should be a random identifier that's unique to the service provider you are logging in to.

philsnow · 3 years ago
I think we'll get there eventually, like how on iphone/android you can deny individual "scopes" these days. It took a long time and there were some growing pains, but now I have little worry about some sketchy app slurping all my photos from my phone.
thih9 · 3 years ago
Platforms can implement that and some already have, e.g. Facebook’s auth works like this.

That being said, this approach requires monitoring and enforcement; otherwise nothing prevents the developer from not allowing the user to proceed without granting some specific permissions. Facebook again seems relatively strict here, at least post- Cambridge Analytica.

devmor · 3 years ago
As a developer, I know exactly how I'd solve this.

The callback page would tell you that you screwed up, give you a link to try again, and not let you authenticate until you offer the proper scope.

I can't imagine anyone else doing much different than that outside of special cases.

411111111111111 · 3 years ago
yeah, the granted scopes are part of the id tokens, so they're visible from the requesting application. They could theoretically be hidden by encrypting the bearer_token itself (thats part of the standard already, though few seem to actually do it atm) and omitting them in the id_token, but omitting it would to my knowledge be in violation of the standard

the scope mechanic would have to be reworked altogether if this feature has any chance of actually achieving the desired effect, so a scope can only be granted for n-minutes or something. But that would make a lot of good use-cases borderline impossible (i.e. the previously mentioned alternative frontends for popular pages).

Its really hard without revamping the oidc standard altogether, but thats unlikely to happen as well. Good authentication/authorization is just super hard and continues to be unsolved, especially if untrusted entities are involved.

tjoff · 3 years ago
You can't?

Why on earth would anyone use SSO? Are we that lazy?

xiphias2 · 3 years ago
The world works by automating things. When was the last time you washed all your clothes by hand?
epse · 3 years ago
Some do, some don't. That said, I haven't said a option to reject scopes on any of the big oauth providers
ilyt · 3 years ago
Well, there are two options here.

Either Github authorization, that by default asks only to use email [1] (I clicked some random GH sso using site, the one mentioned in post above doesn't have GH auth at the moment) have a bug and also gives starring rights.

Or OP is having prompt-induced illiteracy syndrome which caused them to not read and just click accept till "the thing worked"

* [1]https://imgur.com/a/VTFc2FD

...I give it 30/70. Kinda heard the second version from my users way too often

kristiandupont · 3 years ago
Fair point. But even if it had warned me that the site would be allowed to star repos, I would consider that such a low-risk innocent thing that I would likely just ignore it. Until reading this post I would have never considered how that could be abused.
ilyt · 3 years ago
Well, github does need some more fine-grained permissions.

Another stupid thing I found is about GH organization access.

If org didn't had Third-part application access policy set to restricted, THERE WAS NO OPTION TO NOT GIVE PERMISSIONS TO A TOKEN.

As in I HAD to give permission for repos for org I was in if I wanted to give app permissions for my personal repos.

Only after enabling that option in org I was given an option to not proliferate permissions to org I'm in. I happened to have admin access so I just enabled that option but if someone didn't it would be real easy for some user to give too much permissions on accident...

It really feels like those permissions should be at per-repo level. App should never need to have access to all of them, even if it asks for all there should be option to give limited access

itsacomment · 3 years ago
See, my first question would be "WHY?!".

Every unnecessary permission is suspicious until proven not to be, and will at the very least be used in ways that I would not, if not even actively to my detriment.

Your android flashlight demanding to read your contacts is trying to scam you ( and worse, your contacts through your negligence), not just ask for some harmless permission you needn't care about.