def r_oauth_authorized(self):
        """
        Route for OAuth2 Authorization callback
        :return: {"template"}
        """
        resp = self.authobj.authorized_response()
        if resp is None:
            return 'Access denied: reason=%s error=%s' % (
                request.args['error'],
                request.args['error_description']
            )
        session['oauth_token'] = (resp['access_token'], '')
        user = self.authobj.get('user')
        ## TODO this is too specific to Perseids' api model. We should externalize.
        session['oauth_user_uri'] = user.data['user']['uri']
        session['oauth_user_name'] = user.data['user']['full_name']
        if 'next' in session and session['next'] is not None:
            return redirect(session['next'])
        else:
            return {
                "template": "nemo_oauth_plugin::authorized.html",
                "username": session['oauth_user_name']
            }