It's shady, and seems short-sighted, but no one is disclosing information against their will here.
The Employment Equity Act is aimed at protecting women, visible minorities, people with disabilities and Aboriginals.
"5. Every employer shall implement employment equity by
(a) identifying and eliminating employment barriers against persons in designated groups that result from the employer’s employment systems, policies and practices that are not authorized by law" (1)
The Canadian Human Rights Act is aimed at preventing discrimination "practices based on race, national or ethnic origin, colour, religion, age, sex, sexual orientation,marital status, family status, disability orconviction for an offence for which a pardon has been granted."
"7. It is a discriminatory practice, directly or indirectly,
(b) in the course of employment, to differentiate adversely in relation to an employee,on a prohibited ground of discrimination." (2)
I'm no lawyer but I would tread lightly on "differentiating" by any of these statuses.
(1) http://laws-lois.justice.gc.ca/eng/acts/E-5.401/page-3.html#...
Edit: A bit of searching leads me to the Civil Rights Act of 1964 (https://en.wikipedia.org/wiki/Civil_Rights_Act_of_1964). I'm not sure if the wording specifically prohibits asking about protected statuses, but any legal decisions about that would probably have their roots in that Act.
There's a severe power imbalance. If you don't take the job, in most cases there are seven other qualified applications who will take it instead. Odds are that one of them will fork over their login info. And even though few people truly want to disclose it, once it becomes a de-facto standard, people will have little choice. The power imbalance is the crucial problem, and companies shouldn't be allowed to dictate unreasonable terms to employees or potential employees just because that imbalance allows them to obtain consent in most cases.