Ejemplo n.º 1
0
def disconnect_handler(remote, *args, **kwargs):
    """Handle unlinking of remote account."""
    from invenio.modules.oauthclient.utils import oauth_unlink_external_id
    from invenio.modules.oauthclient.models import RemoteAccount

    if not current_user.is_authenticated():
        return current_app.login_manager.unauthorized()

    account = RemoteAccount.get(user_id=current_user.get_id(),
                                client_id=remote.consumer_key)
    orcid = account.extra_data.get('orcid')

    if orcid:
        oauth_unlink_external_id(dict(id=orcid, method='orcid'))
    if account:
        account.delete()

    return redirect(url_for('oauthclient_settings.index'))
Ejemplo n.º 2
0
def disconnect_handler(remote, *args, **kwargs):
    """Handle unlinking of remote account."""
    from invenio.modules.oauthclient.utils import oauth_unlink_external_id
    from invenio.modules.oauthclient.models import RemoteAccount

    if not current_user.is_authenticated():
        return current_app.login_manager.unauthorized()

    account = RemoteAccount.get(user_id=current_user.get_id(),
                                client_id=remote.consumer_key)
    orcid = account.extra_data.get('orcid')

    if orcid:
        oauth_unlink_external_id(dict(id=orcid, method='orcid'))
    if account:
        account.delete()

    return redirect(url_for('oauthclient_settings.index'))
Ejemplo n.º 3
0
def get_account(user_id=None):
    """ Retrieve linked GitHub account """
    return RemoteAccount.get(user_id or current_user.get_id(), get_client_id())
Ejemplo n.º 4
0
def get_account(user_id=None):
    """ Retrieve linked GitHub account """
    return RemoteAccount.get(user_id or current_user.get_id(), get_client_id())