BC: Bumped all dependencies to the latest versions
BC: Bumped the PHP minimum version to 8.0
BC: Use encryption instead of hashing the recovery codes (more in line with Fortify)
BC: Replace the used recovery code and grant them access to the app instead of forcing the user to reconfigure the authenticator app (again, more in line with Fortify)
Tweaked the inputs so it matches Nova's UI (rounded corners and stuff)
Added a new tool to view the Recovery Codes inside Nova itself
Hey, there. I had the need to implement in Nova for an app, tried installing your package but found some roadblocks (my project uses PHP >8.0), so I made the necessary changes to make it work and figured I could contribute here.
While I was testing it, I noticed that the recovery flow wasn't working, so I fixed that. And then I noticed I had to reconfigure the authenticator app after using a recovery code (it generated a new secret and new codes), but that doesn't seem necessary. Fortify just replaces the used code with a new one, so that should do the trick, right?
These are all breaking changes, so you may need a major version bump. Since I'm working on a new project, I didn't need to migrate existing users, and I don't think it's possible (because of the hashing to encryption change), so if you're interested in a migration path for users of the package, we can bring back the hashing stuff implement a configuration that allows users to choose between encryption/hashing for the recovery codes.
I changed from hashing to encryption to allow users to view their recovery codes again once they are inside the app (since recovery codes change - when you use one, that one gets cycled and a new one takes its place).
Changed
Hey, there. I had the need to implement in Nova for an app, tried installing your package but found some roadblocks (my project uses PHP >8.0), so I made the necessary changes to make it work and figured I could contribute here.
While I was testing it, I noticed that the recovery flow wasn't working, so I fixed that. And then I noticed I had to reconfigure the authenticator app after using a recovery code (it generated a new secret and new codes), but that doesn't seem necessary. Fortify just replaces the used code with a new one, so that should do the trick, right?
These are all breaking changes, so you may need a major version bump. Since I'm working on a new project, I didn't need to migrate existing users, and I don't think it's possible (because of the hashing to encryption change), so if you're interested in a migration path for users of the package, we can bring back the hashing stuff implement a configuration that allows users to choose between encryption/hashing for the recovery codes.
I changed from hashing to encryption to allow users to view their recovery codes again once they are inside the app (since recovery codes change - when you use one, that one gets cycled and a new one takes its place).