Django: как дифференцироваться, если пользователь выполняет вход из social_auth или локального пользователя Django

Если у вас есть несколько детей, которых вы хотите передать реквизиты , вы можете сделать это таким образом, используя React.Children.map:

render() {
    let updatedChildren = React.Children.map(this.props.children,
        (child) => {
            return React.cloneElement(child, { newProp: newProp });
        });

    return (
        
{ updatedChildren }
); }

Если ваш компонент имеет только одного ребенка, нет необходимости в сопоставлении, вы можете просто клонировать элемент сразу:

render() {
    return (
        
{ React.cloneElement(this.props.children, { newProp: newProp }) }
); }

0
задан Bilal 13 July 2018 в 23:40
поделиться

1 ответ

Для этого вы можете зависеть от Django. Попробуйте что-то вроде этого:

from django.contrib.auth import BACKEND_SESSION_KEY

last_auth_backend = request.session[BACKEND_SESSION_KEY]

if last_auth_backend in [list of social backends]:
    print("user used social auth")
else:
    print("user used something else")
1
ответ дан omab 17 August 2018 в 12:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: