#dev 2024-05-18
2024-05-18 UTC
#
[Al_Abut] [Joe_Crawford] I have a request for the DJ at the next frontend study party: can you explain this flex wrapping to me like I’m an infant?
#
Loqi A sitemap is a list of pages on a website https://indieweb.org/sitemap

geoffo joined the channel
#
cophee i think the issue i had with webmentions after moving over to cloudflare pages from netlify was that cloudflare uses www. before my domain name
#
[Joe_Crawford] [Al_Abut] You got it. Sneak preview: `flex: 1 0 0` is short for `flex-grow: 1; flex-shrink: 0; flex-basis: 0;`
#
Loqi [preview] [samuelgoto] > I'll put instructions on how to use this
Ok, here is one way anyone with a domain can be an Indie FedCM IdP that https://webmention.io would accept as an IdP.
You have three options:
1) You can implement https://indieweb.org/FedCM_for_Indi...

geoffo joined the channel
hacdias_, oenone_, Zegnet, geoffo and [tw2113] joined the channel
ancarda_, eb_, Guest1350_, lanodan_, sebbu2, oodani_, rjomara583, chenghiz__, revi_, chimo_, _standingdesk[d], gerben_, RapidRotator_, revi, bacardi55[m], herbi, Pegazusuo`_, eitilt and GuestZero joined the channel
#
cophee just started using webc components in 11ty =]
#
cophee building the site for indieweb.guide now (based off max boeck's starter)
[jeremycherfas], randulo and [Joel_Auterson] joined the channel
#
[Joel_Auterson] Got EXIF extraction working for photos :) I realised I was including location data in all my photos so now Hugo extracts it selectively and then my build strips it from the images https://www.joelotter.com/notes/2024/04/19-japan-19/
#
Loqi [preview] [Joel Auterson] Spent Wednesday evening in Kabukicho - def worth a visit, especially if you’ve played the Like A Dragon games as it’s the inspiration for Kamurocho. Had drinks in the Golden Gai, met some lovely people, had far too much shochu. https://www.joelotter.com/img/2024/04/japan-19-1.jpeg

#
[Joel_Auterson] Inspired by [aaronpk]++
pcarrier joined the channel
#
pcarrier ah, won't lose history :)
#
pcarrier this channel isn't really usable in discord in my experience
pcarrier and jeremycherfas joined the channel
barnaby, chimo, jonnybarnes, geoffo and [qubyte] joined the channel
#
capjamesg [tantek] aaronpk: https://indieweb.social/@evan@cosocial.ca/112457309794440288

barnaby and [tantek] joined the channel
pcarrier and [Joe_Crawford] joined the channel
#
[Joe_Crawford] one prerequisite for a webmention is the link to the target be included in the originating url so that seems like the result should be failure, flagging or the like
[snarfed] joined the channel
#
[snarfed] maybe someone's site has a "send me a webmention" form pointing to http://wm.io, and this is the usual indiscriminate "find forms with text boxes, plug in our URL" spam
[manton] joined the channel
#
aaronpk [manton]: curious if you've seen my writeup on FedCM yet! https://aaronparecki.com/2024/05/12/3/fedcm-for-indieauth

#
pcarrier I haven't seen how idps register themselves in browsers, presumably it takes more than visiting a page or the list could get polluted quickly?
#
aaronpk i documented it with a screenshot here https://indieweb.org/FedCM_for_IndieAuth#IdP_Registration

#
pcarrier Thanks
#
pcarrier End to end flow charts would be great
#
aaronpk I don't want to replicate all of what's on the google developer guide, which does have a sequence diagram https://developers.google.com/privacy-sandbox/3pcd/fedcm-developer-guide

barnaby joined the channel
#
pcarrier Hmmm really wish things like generating the list of users could happen through agent-side code instead of being limited to server logic
#
pcarrier The client could generate everything based on local storage, that the server merely confirms at the end by verifying the unsigned assertion and signing it
#
pcarrier Does it though? I could imagine keeping a list of user, private key in local storage, and the server resigning the assertion that's been signed by the client to prove it has the private key after verifying the user ID -> public key association, for example
#
pcarrier That could allow for login/logout without involving the server, which could be better for privacy
#
pcarrier 100% inspired by passkeys
#
pcarrier I would use a server. Just for one step not all.
#
pcarrier I still want centralized ID<->passkey management
#
pcarrier I still want to remove ID when an employee leaves etc.
#
pcarrier I just dont need the server to have a cookie->user association for every UA
#
pcarrier (By server I mean IdP)
#
pcarrier Maybe I misunderstand what problem is being solved, but some of the design feels overly constraining to me. I don't like first party cookies either, in my ideal world every FP/IdP request could be signed by my passkey rather introducing a stateful session with cookies
#
aaronpk this has more of the background of the problem space in general https://blog.timcappalli.me/p/preso-osw24-fedcm101/

#
pcarrier Is CHIPS a real thing that's happening?
#
pcarrier Sorry can't watch talk now, but read the slides
#
pcarrier aaronpk: thanks. so if Mozilla and Apple come along… :)
geoffo and [jgarber] joined the channel
#
[jgarber] Assume this is about an authorization endpoint service akin to http://indielogin.com. I’m 99% sure I’ve used the right terminology, but apologies if the wording is slightly off:

#
pcarrier [jgarber]: sorry for the nit, but granted that complexity ≠ difficulty, I'd argue TXT is the least complex of those options
#
pcarrier I'd love a provider-agnostic spec to suggest DNS changes
#
pcarrier cloudflare has a one-click option that Google uses to install their domain ownership verification record
#
pcarrier I'd make the point that a change to DNS goes through better safeguards than a change to a company's landing page
#
pcarrier in my limited but non-trivial experience
#
pcarrier wouldn't be comfortable with any member of the web team changing a key corporate security policy whenever they feel like it, whereas changes to the main DNS zone is likely to go through sysops
#
pcarrier (or 2 members of the web team assuming 4 eyes)
barnaby and rrix joined the channel; pcarrier left the channel
rrix and [KevinMarks] joined the channel
amyiscoolz_ joined the channel
#
pcarrier aaronpk[d] yeah pretty sure you need 2 buttons.
#
pcarrier aaronpk[d] lemme know if I turn out wrong though, would love to simplify https://xmit.co 😄
#
pcarrier [edit] aaronpk[d] lemme know if I turn out wrong though, would love to simplify https://xmit.co 😄
sarajaksa joined the channel
#
pcarrier no. everything belongs to teams, so you'd invite the other account onto the same team, then one of the accounts would leave the team and could be kept around empty
#
pcarrier if you have workflow improvement ideas I'm 100% all ears
geoffo joined the channel
#
pcarrier Yeah so account merge
#
pcarrier You log into account A, hit "merge another account" which makes you log into account B, account B disappears and account A has all the things
#
pcarrier Would it not though?
#
pcarrier aaronpk[d] I have a UX to enroll another passkey, you can use your second device then
#
pcarrier Or take your phone and enroll it into both accounts
#
pcarrier (One account has 0..N passkeys managed though the admin page in my model)
#
aaronpk in other news https://media.aaronpk.com/2024/05/18143116-3484.png 😭

#
pcarrier Everybody and their Chihuahua has a smartphonr
#
pcarrier So you can log in with whatever you have on whatever device for each account
#
pcarrier On each account, add a passkey that's on your smartphone
#
pcarrier Then do the merge from the smartphone
#
pcarrier Correct.
#
pcarrier Unless you used safari and have an Android phone, that should always be true I think
#
pcarrier No
#
pcarrier I don't make that assumption
#
pcarrier It's the other way around
#
pcarrier Lemme get to a PC that'll be easier to type out
#
pcarrier Logs onto account A with computer A, enrolls phone by scanning a QR code. now phone has account A
#
pcarrier Same on computer B. Now phone has accounts A and B.
#
pcarrier Enrolling a phone from a computer involves the computer showing a QR code, the phone scanning it, not the other way around?
#
pcarrier well does it matter which way you do the transform?
#
pcarrier but I mean, sure, let's do that. You log onto your computer, you click enroll, you use your phone. Now phone has A and B. You log into A from phone, click merge, log onto B, done
#
pcarrier account A has passkey A that's on computer A. account B has passkey B that's on phone B.
#
pcarrier you want account A to have passkeys A and B
ttybitnik joined the channel
#
pcarrier you log onto account A from computer A. you click enroll, pick mobile, scan the QR code shown by computer A on phone B. now phone B has passkeys A, B, and C where passkey C belongs to account A
#
pcarrier you log onto account A on phone B using passkey C, then hit merge, then select passkey B. now account A has passkeys A, B, C and you can delete passkey C.
#
pcarrier so the real life situation I expect is:
#
pcarrier you click sign up instead of sign in by mistake. you see an empty account. you log out and never use that account again.
#
pcarrier however, you want to use an account you've lost access to. you reach out to me. I find a way to validate your identity (E-mail address on the account, domain you own where you can change DNS, etc.) and send you a one-time link to log into a fresh session for your account without a passkey.
#
pcarrier oh yeah, getting rid of a passkey is a must-have. it's not too bad on iPhones, it's nigh impossible on a yubikey.
#
pcarrier macOS, no password manager?
#
pcarrier yeah from my personal and friends' experiences, the passkey experience leaves a lot to be desired without 1password or bitwarden
#
pcarrier or if you're 100% Apple and know to go into System settings for everything 🙂
#
pcarrier damn, now I want to implement account merge
#
pcarrier I didn't need to grow my backlog
#
pcarrier oh yeah I looked at what was around for golang and decided I was better off implementing my own thing pretty quickly 🙂
#
pcarrier aaronpk[d] yuuup
#
pcarrier went with 'passkey' for id, name, and displayName 🙂 https://gist.github.com/pcarrier/776117b2c132e957eb2c5253f81e675a
#
pcarrier [edit] went with 'passkey' for id, name, and displayName 🙂 https://gist.github.com/pcarrier/776117b2c132e957eb2c5253f81e675a
#
aaronpk what i'm trying to do is make it so you can click "register" and make an account where there is no information yet, then go add a domain to your account (which will require that i do domain verification). but then you should be able to add a second domain too. and there's no reason to ask the user to create a separate username for this either

#
pcarrier aaronpk[d] 100% same boat 🙂
#
pcarrier that's gonna be weird if they add a second domain then remove the first

#
pcarrier ha
#
pcarrier you probably don't need to put that there, it's already stored by domain
#
pcarrier yeah I've been thinking "Created 2024-05-18T20:21:22Z"
#
pcarrier only 4? I think you beat me by a few
#
pcarrier yeah so I've been in the situation of many keys with the same name multiple times
#
pcarrier just shipped https://gist.github.com/pcarrier/776117b2c132e957eb2c5253f81e675a so it doesn't happen again, because it's terrible
#
pcarrier [edit] just shipped https://gist.github.com/pcarrier/776117b2c132e957eb2c5253f81e675a so it doesn't happen again, because it's terrible
#
pcarrier deleting the right one(s) is nerve-wracking
#
pcarrier no, it's `navigator.credentials.create` vs `navigator.credentials.get`
#
pcarrier aaronpk[d] I guess it's not too late to bring `navigator.credentials.get(
{orCreate:true}
)` or some such#
pcarrier or push a button on a hardware passkey
#
pcarrier terrible UX
#
pcarrier you'd get a popup asking you what to do, you'd have to refuse to make progress there, and then get the other option
#
pcarrier also the exception is horribly general
#
pcarrier who wants a w3.org link in their exception message 😛
[johnstonphilip] joined the channel
box464 joined the channel