Hi, Passenger sun visor broke. Seems to be a common issue.Tried velcro. Not a long lasting fix. BUT then I came up with a $1.00 solution that is nearly noticeable, doesn't include glues or hardware that would mar any surface. I just used three pieces of clear fishing line tied into three loops that would slide over the ends and middle of the visor. ( I did attach three small pieces of velcro under the visor, too.)
Once the three "circles of fishing line were tied around the visor, I just took a 1 inch piece of toothpick and twisted it around to take up the necessary slack in each loop and I slipped the toothpick under the rubber gasket on the top of the windshield where the top comes to rest. ( There's a channel under the gasket that will securely, and invisibily secure the toothpick and keep the nylon loops in place and tight.
You won't be able to use the visor anymore. But it's a quick, inexpensive fix to an obvious, manufacturing defect.
Good Luck !