#metabrainz

/

      • bitmap
        is the new oauth provider url supposed to give Page not found? :)
      • lucifer
      • should we start?
      • bitmap
        sure, let's start
      • reosarevok
        Sure
      • lucifer
        1. Current Status of OAuth Provider
      • so the provider is more or less ready for use, its deployed on test.mb and i also modified CB's codebase to test both login and using the access tokens issued by this provider to write reviews using its API.
      • some UI issues need to be fixed, i'll discuss them separately with monkey and aerozol.
      • bitmap
        !m lucifer
      • BrainzBot
        You're doing good work, lucifer!
      • lucifer
        nothing much to discuss about this point so moving on to 2.
      • 2. Security measures taken and decided against
      • the distrinet group had done a audit of the MB OAuth provider a few years ago, using their now open source tool. i audited the new ouath provder's implementation.
      • Tarun_0x0 has quit
      • The report is ^. There are no major unmitigated threats according to it.
      • However, there are some tradeoffs that can be made to make it even more secure.
      • there are a total of 8 failing tests in the report. 3 are mandatory, i have opened PRs upstream to fix them in authlib (the library used to implement this provider).
      • i do not think these pose a security threat though so it should be fine to release even without it.
      • does anyone think otherwise?
      • bitmap
        the MB revoke endpoint requires a client_id and client_secret, is that not is what is meant by "Is revocation bound to a specific client"?
      • lucifer
        right the current oauth provider requires that as well. but authlib doesn't check it.
      • so anyone can revoke a token issued by any client.
      • bitmap
        it'd be nice to have but probably not blocking
      • lucifer
        the other two issues are repeating parameters in endpoints, like specifying the client_id or grant_type etc twice in the url.
      • bitmap
        if you have upstream fixes pending already then I think we're good for now
      • lucifer
        yup cool.
      • yvanzo
        !m lucifer
      • BrainzBot
        You're doing good work, lucifer!
      • lucifer
        then there are recommended fixes.
      • Does the server require PKCE:
      • we don't require PKCE in MB. should we make it mandatory for MeB?
      • bitmap
        I'm not sure we can reasonably require that
      • lucifer
        i see.
      • bitmap
        (it was only quietly introduced recently)
      • yvanzo
        Or at least not without an announcement.
      • lucifer
        okay, i guess we can make a ticket tracking this and update the document to strongly recommend it?
      • *documentation
      • yvanzo
        MB support PKCE for 3 years already.
      • *s
      • bitmap
        ok, in 2020, but still quietly. I'm not sure how many clients use it yet.
      • lucifer
        yvanzo: the migration from MB to MeB provider will need manual intervention from app owners most likely so that announcement could cover it
      • so we agree to not make it mandatory for now?
      • bitmap
        what sort of manual intervention will it require?
      • yes, agreed
      • atj
        how many clients currently use MB auth?
      • yvanzo
        unless it is straightforward, yes agreed.
      • atj
        realistically if you don't enforce PKCE now you never will :p
      • lucifer
        creating a new app on the dashboard linked before. and changing the client secrets locally.
      • bitmap: ^
      • bitmap
        there are 4760 rows in the application table
      • lucifer
        huh that's not a lot.
      • because every MB, CB, LB local installation needs at least one.
      • *BB, CB, LB
      • atj
        i suspect <5% are actively used
      • probably lower
      • bitmap
        only 566 have any tokens granted
      • yvanzo
        and also Discourse and Jira.
      • lucifer
        i see
      • yvanzo
        and Weblate.
      • atj
        i'd be surprised if any of those don't support PKCE
      • lucifer
        i think it could be possible to mandate pkce then. how about i create a ticket for this and collect more info to discuss later this week?
      • yvanzo
        It is fine to leave a 1 year probation period if announced at the same time.
      • bitmap
        only 6 applications with non-expired tokens (?!)
      • atj
        the JS client in https://d.ontun.es could be an issue
      • sorry, i don't want to add to the pain of the migration
      • lucifer
        LB beta, LB prod, LB test, BB, CB would make 5.
      • bitmap
        (^ that is one of the 6)
      • atj
        i just think that this is the time do it, because you know how it goes
      • hopefully in 1 year there'll be loads of clients using OAuth
      • huhridge has quit
      • bitmap
        yea, given how few there are currently you may be right
      • atj
        so then there is more of an incentive not to enforce it
      • lucifer
        happy to help d.ontun.es peeps with the migration if its open source.
      • and i think we own all of the other clients so not an issue.
      • bitmap
      • lucifer
        hmm interesting that BB and CB are not on that list.
      • huhridge joined the channel
      • yvanzo
        It is better to have our clients using it asap in any case.
      • lucifer
        yup makes sense
      • yvanzo
        But not enforcing it right now for the few clients we don’t own seem fair.
      • lucifer
        how about if we reach out to the active clients and ask them if they are fine pkce being mandatory?
      • number seems small enough to be feasible
      • bitmap
        worth a try
      • lucifer
        a related recommendation is to not support plain PKCE.
      • yvanzo
        I’m not sure to follow what represents this list of 6.
      • lucifer
        MB OAuth clients with active access tokens afaiu
      • bitmap
        select name from application where exists (select 1 from editor_oauth_token where application = application.id and expire_time >= now());
      • atj
        StrawBerry Music Player already does PKCE for other providers: https://github.com/strawberrymusicplayer/strawb...
      • yvanzo
        how does it come that CB is not listed?
      • lucifer
        i think its because no one has recently logged in.
      • yvanzo
        I did last week
      • lucifer
        and tokens expire hourly.
      • right, we probably need a bigger expire window to gather an exhaustive list of clients.
      • yvanzo
        Oh so that list can vary anytime.
      • bitmap
        we have a bunch of expired tokens from 2014/2015 which were never cleaned up for some reason
      • but yes, otherwise the list can vary a bit
      • lucifer
        we can probably check when the last token was issued to an application for a better estimate.
      • yvanzo
        Does PKCE has anything to do with the app itself, or just the tokens?
      • lucifer
        you need a couple of code changes in the OAuth process to obtain the tokens with PKCE.
      • yvanzo
        I mean do apps need to support it in a way?
      • lucifer
        yes code changes are needed in the clients to get the token but nothing after the fact.
      • yvanzo
        There are 144 apps with token that expired since last year.
      • lucifer
        a lot of these may be one time things. like local deployments.
      • bitmap
        24 with a token since last week
      • lucifer
        would be simple to check that from the redirect_uris/name/description
      • yvanzo
        yes but even then, it's not 6.
      • lucifer
        the local deployments use the code from LB, CB, BB so wouldn't need any change to support.
      • zerodogg has quit
      • note that, unless we plan to shut off the MB OAuth soon (i don't think we do). mandating PKCE will only prolong the migration by some time during which we need to support both.
      • and that is fine i guess.
      • bitmap
        we will probably have to continue this discussion later
      • atj
        apologies, I didn't meant to derail the discussion
      • lucifer
        yup makes sense. after the regular meet or some other day?
      • yvanzo
        but it is good to see that there won't be so many apps to move.
      • was there anything else to discuss?
      • bitmap
        ideally another day, I really need to work on PG upgrade stuff :)
      • lucifer
        yup loads of it :D
      • ah okay, makes sense.
      • any suggestions on when?
      • derat joined the channel
      • yvanzo
        after that?
      • atj
        great work btw lucifer
      • bitmap
        one thing that stood out from the document - doesn't Picard use the OOB redirect uri?
      • lucifer
        :)
      • atj
        do you enjoy reading RFCs?
      • lucifer
        bitmap: yeah that is another lengthy discussion
      • bitmap
        ok, sorry for bringing it up :D
      • lucifer
        atj: certainly better than writing compliance tests for the rfcs
      • atj
        well, that's like me asking if you like being kicked in the balls and you telling me you prefer to be punched in the face
      • lucifer
        its a nice change sometimes but wouldn't volunteer for it for sure XD
      • lol
      • when's the schema change?
      • reosarevok
        13 may
      • lucifer
        so how about 16th?
      • monkey
        Don't call me first for reviews please, metro is slow
      • lucifer
        i am fine with any day that week or the one after that fwiw.
      • bitmap
        that tenatively sounds fine
      • lucifer
        cool
      • thanks reosarevok, bitmap, yvanzo and atj!
      • bitmap
        thank you!
      • reosarevok
        <BANG>
      • And on that note, welcome to this MetaBrainz Monday Meeting!
      • ApeKattQuest
        πŸ™‹
      • JadedBlueEyes
        πŸ™‹β€β™€οΈ
      • reosarevok
        My list for today: Pratha-Fish, huhridge, jasje, JadedBlueEyes, pranav, Tarun_0x0, mayhem, rimskii, atj, monkey, yvanzo, yellowhatpro, theflash__, reosarevok, ansh, zas, ApeKattQuest, akshaaatt, kellnerd, lucifer, bitmap
      • If anyone else wants in, please let me know.
      • derat
        reosarevok: mind adding me too?
      • reosarevok
        Sure! Today or every week?