2014-04-23 31 views
2

我想用python-social-auth我的web服務,但我不是100%肯定它是如何工作的:用戶名在python-社會AUTH

當我與我的github賬戶註冊(比方說我的github帳戶稱爲joe),那麼python-social-auth會創建一個名爲joe的新用戶,並且也會joe。 但是,如果其他用戶想要註冊,即使用Google帳戶,但該用戶擁有Google用戶名joe,會發生什麼情況。

然後我的web服務會發生什麼? python-social-auth會抱怨並且說已經有一個名爲joe的用戶,或者它能夠區分github用戶和google用戶嗎?

user.username會爲這兩個?

回答

4

python-social-auth將爲每個用戶在發生碰撞時創建一個唯一的用戶名,默認的解決方法是在用戶名末尾附加一個散列,因此它將變爲joed41d8cd98f00...,這裏照顧的方法就在這裏https://github.com/omab/python-social-auth/blob/master/social/pipeline/user.py#L9-L53

您可以通過替換管道中的該方法(或在將某個轉換應用於生成的用戶名之後添加另一個方法)來覆蓋默認行爲。