コード例 #1
0
ファイル: saml2.py プロジェクト: andrzej-tests-1/sentry-app
    def dispatch(self, request, organization_slug):
        from sentry.auth.helper import AuthHelper
        helper = AuthHelper.get_for_request(request)

        # SP initiated authentication, request helper is provided
        if helper:
            from sentry.web.frontend.auth_provider_login import AuthProviderLoginView
            sso_login = AuthProviderLoginView()
            return sso_login.handle(request)

        # IdP initiated authentication. The organizatio_slug must be valid and
        # an auth provider must exist for this organization to proceed with
        # IdP initiated SAML auth.
        try:
            organization = Organization.objects.get(slug=organization_slug)
        except Organization.DoesNotExist:
            messages.add_message(request, messages.ERROR, ERR_NO_SAML_SSO)
            return self.redirect(reverse('sentry-login'))

        try:
            auth_provider = AuthProvider.objects.get(organization=organization)
        except AuthProvider.DoesNotExist:
            messages.add_message(request, messages.ERROR, ERR_NO_SAML_SSO)
            return self.redirect(reverse('sentry-login'))

        helper = AuthHelper(
            request=request,
            organization=organization,
            auth_provider=auth_provider,
            flow=AuthHelper.FLOW_LOGIN,
        )

        helper.init_pipeline()
        return helper.current_step()
コード例 #2
0
    def dispatch(self, request, organization_slug):
        # NB: The 'auth' key is used in the helper
        in_auth_flow = request.session.get('auth', False)

        # SP initiated authentication
        if in_auth_flow:
            from sentry.web.frontend.auth_provider_login import AuthProviderLoginView
            sso_login = AuthProviderLoginView()
            return sso_login.handle(request)

        # IdP initiated authentication. Start from org login flow
        from sentry.web.frontend.auth_organization_login import AuthOrganizationLoginView

        # AuthOranizationLogin will init the login flow *only if* the ``init``
        # parameter is set.
        request.POST = request.POST.copy()
        request.POST['init'] = True

        org_login = AuthOrganizationLoginView()
        return org_login.handle(request, organization_slug)
コード例 #3
0
ファイル: urls.py プロジェクト: sashahilton00/sentry
    # OAuth
    url(r'^oauth/authorize/$', OAuthAuthorizeView.as_view()),
    url(r'^oauth/token/$', OAuthTokenView.as_view()),

    # Auth
    url(r'^auth/link/(?P<organization_slug>[^/]+)/$', AuthOrganizationLoginView.as_view(),
        name='sentry-auth-link-identity'),
    url(r'^auth/login/$', AuthLoginView.as_view(),
        name='sentry-login'),
    url(r'^auth/login/(?P<organization_slug>[^/]+)/$', AuthOrganizationLoginView.as_view(),
        name='sentry-auth-organization'),
    url(r'^auth/2fa/$', TwoFactorAuthView.as_view(),
        name='sentry-2fa-dialog'),
    url(r'^auth/2fa/u2fappid\.json$', u2f_appid,
        name='sentry-u2f-app-id'),
    url(r'^auth/sso/$', AuthProviderLoginView.as_view(),
        name='sentry-auth-sso'),
    url(r'^auth/logout/$', AuthLogoutView.as_view(),
        name='sentry-logout'),
    url(r'^auth/reactivate/$', ReactivateAccountView.as_view(),
        name='sentry-reactivate-account'),
    url(r'^auth/register/$', AuthLoginView.as_view(),
        name='sentry-register'),
    url(r'^auth/close/$', AuthCloseView.as_view(),
        name='sentry-auth-close'),

    # Account
    url(r'^login-redirect/$', accounts.login_redirect,
        name='sentry-login-redirect'),
    url(r'^account/sudo/$', SudoView.as_view(), name='sentry-sudo'),
    url(r'^account/confirm-email/$', accounts.start_confirm_email,
コード例 #4
0
ファイル: urls.py プロジェクト: yujiaqi/sentry
     include(
         [
             url(r"^login/$", AuthLoginView.as_view(), name="sentry-login"),
             url(
                 r"^login/(?P<organization_slug>[^/]+)/$",
                 AuthOrganizationLoginView.as_view(),
                 name="sentry-auth-organization",
             ),
             url(
                 r"^link/(?P<organization_slug>[^/]+)/$",
                 AuthOrganizationLoginView.as_view(),
                 name="sentry-auth-link-identity",
             ),
             url(r"^2fa/$", TwoFactorAuthView.as_view(), name="sentry-2fa-dialog"),
             url(r"^2fa/u2fappid\.json$", u2f_appid, name="sentry-u2f-app-id"),
             url(r"^sso/$", AuthProviderLoginView.as_view(), name="sentry-auth-sso"),
             url(r"^logout/$", AuthLogoutView.as_view(), name="sentry-logout"),
             url(
                 r"^reactivate/$",
                 ReactivateAccountView.as_view(),
                 name="sentry-reactivate-account",
             ),
             url(r"^register/$", AuthLoginView.as_view(), name="sentry-register"),
             url(r"^close/$", AuthCloseView.as_view(), name="sentry-auth-close"),
         ]
     ),
 ),
 url(r"^login-redirect/$", accounts.login_redirect, name="sentry-login-redirect"),
 # Account
 url(
     r"^account/",
コード例 #5
0
    # Auth
    url(
        r'^auth/link/(?P<organization_slug>[^/]+)/$',
        AuthOrganizationLoginView.as_view(),
        name='sentry-auth-link-identity'
    ),
    url(r'^auth/login/$', AuthLoginView.as_view(), name='sentry-login'),
    url(
        r'^auth/login/(?P<organization_slug>[^/]+)/$',
        AuthOrganizationLoginView.as_view(),
        name='sentry-auth-organization'
    ),
    url(r'^auth/2fa/$', TwoFactorAuthView.as_view(), name='sentry-2fa-dialog'),
    url(r'^auth/2fa/u2fappid\.json$', u2f_appid, name='sentry-u2f-app-id'),
    url(r'^auth/sso/$', AuthProviderLoginView.as_view(), name='sentry-auth-sso'),
    url(r'^auth/logout/$', AuthLogoutView.as_view(), name='sentry-logout'),
    url(r'^auth/reactivate/$', ReactivateAccountView.as_view(),
        name='sentry-reactivate-account'),
    url(r'^auth/register/$', AuthLoginView.as_view(), name='sentry-register'),
    url(r'^auth/close/$', AuthCloseView.as_view(), name='sentry-auth-close'),

    # Account
    url(r'^login-redirect/$', accounts.login_redirect,
        name='sentry-login-redirect'),
    url(r'^account/sudo/$', SudoView.as_view(), name='sentry-sudo'),
    url(
        r'^account/confirm-email/$',
        accounts.start_confirm_email,
        name='sentry-account-confirm-email-send'
    ),
コード例 #6
0
ファイル: urls.py プロジェクト: zuiwanting/sentry
        ReleaseWebhookView.as_view(),
        name='sentry-release-hook'),
    url(r'^api/embed/error-page/$',
        ErrorPageEmbedView.as_view(),
        name='sentry-error-page-embed'),

    # Auth
    url(r'^auth/link/(?P<organization_slug>[^/]+)/$',
        AuthLinkIdentityView.as_view(),
        name='sentry-auth-link-identity'),
    url(r'^auth/login/$', AuthLoginView.as_view(), name='sentry-login'),
    url(r'^auth/login/(?P<organization_slug>[^/]+)/$',
        AuthOrganizationLoginView.as_view(),
        name='sentry-auth-organization'),
    url(r'^auth/sso/$',
        AuthProviderLoginView.as_view(),
        name='sentry-auth-sso'),
    url(r'^auth/logout/$', AuthLogoutView.as_view(), name='sentry-logout'),

    # Account
    url(r'^login-redirect/$',
        accounts.login_redirect,
        name='sentry-login-redirect'),
    url(r'^register/$', AuthLoginView.as_view(), name='sentry-register'),
    url(r'^account/sudo/$',
        'sudo.views.sudo', {'template_name': 'sentry/account/sudo.html'},
        name='sentry-sudo'),
    url(r'^account/recover/$', accounts.recover,
        name='sentry-account-recover'),
    url(r'^account/recover/confirm/(?P<user_id>[\d]+)/(?P<hash>[0-9a-zA-Z]+)/$',
        accounts.recover_confirm,
コード例 #7
0
ファイル: urls.py プロジェクト: hosmelq/sentry
    # Auth
    url(
        r'^auth/link/(?P<organization_slug>[^/]+)/$',
        AuthOrganizationLoginView.as_view(),
        name='sentry-auth-link-identity'
    ),
    url(r'^auth/login/$', AuthLoginView.as_view(), name='sentry-login'),
    url(
        r'^auth/login/(?P<organization_slug>[^/]+)/$',
        AuthOrganizationLoginView.as_view(),
        name='sentry-auth-organization'
    ),
    url(r'^auth/2fa/$', TwoFactorAuthView.as_view(), name='sentry-2fa-dialog'),
    url(r'^auth/2fa/u2fappid\.json$', u2f_appid, name='sentry-u2f-app-id'),
    url(r'^auth/sso/$', AuthProviderLoginView.as_view(), name='sentry-auth-sso'),
    url(r'^auth/logout/$', AuthLogoutView.as_view(), name='sentry-logout'),
    url(r'^auth/reactivate/$', ReactivateAccountView.as_view(),
        name='sentry-reactivate-account'),
    url(r'^auth/register/$', AuthLoginView.as_view(), name='sentry-register'),
    url(r'^auth/close/$', AuthCloseView.as_view(), name='sentry-auth-close'),

    # Account
    url(r'^login-redirect/$', accounts.login_redirect,
        name='sentry-login-redirect'),
    url(r'^account/sudo/$', SudoView.as_view(), name='sentry-sudo'),
    url(
        r'^account/confirm-email/$',
        accounts.start_confirm_email,
        name='sentry-account-confirm-email-send'
    ),
コード例 #8
0
ファイル: urls.py プロジェクト: rhythm1995/sentry
        name='sentry-release-hook'),
    url(r'^api/embed/error-page/$', ErrorPageEmbedView.as_view(),
        name='sentry-error-page-embed'),

    # Auth
    url(r'^auth/link/(?P<organization_slug>[^/]+)/$', AuthOrganizationLoginView.as_view(),
        name='sentry-auth-link-identity'),
    url(r'^auth/login/$', AuthLoginView.as_view(),
        name='sentry-login'),
    url(r'^auth/login/(?P<organization_slug>[^/]+)/$', AuthOrganizationLoginView.as_view(),
        name='sentry-auth-organization'),
    url(r'^auth/2fa/$', TwoFactorAuthView.as_view(),
        name='sentry-2fa-dialog'),
    url(r'^auth/2fa/u2fappid\.json$', u2f_appid,
        name='sentry-u2f-app-id'),
    url(r'^auth/sso/$', AuthProviderLoginView.as_view(),
        name='sentry-auth-sso'),
    url(r'^auth/logout/$', AuthLogoutView.as_view(),
        name='sentry-logout'),
    url(r'^auth/reactivate/$', ReactivateAccountView.as_view(),
        name='sentry-reactivate-account'),
    url(r'^auth/register/$', AuthLoginView.as_view(),
        name='sentry-register'),

    # Account
    url(r'^login-redirect/$', accounts.login_redirect,
        name='sentry-login-redirect'),
    url(r'^account/sudo/$', SudoView.as_view(), name='sentry-sudo'),
    url(r'^account/confirm-email/$', accounts.start_confirm_email,
        name='sentry-account-confirm-email-send'),
    url(r'^account/confirm-email/(?P<user_id>[\d]+)/(?P<hash>[0-9a-zA-Z]+)/$', accounts.confirm_email,
コード例 #9
0
ファイル: urls.py プロジェクト: pratyk/sentry
     name="sentry-release-hook",
 ),
 url(r"^api/embed/error-page/$", ErrorPageEmbedView.as_view(), name="sentry-error-page-embed"),
 # Auth
 url(
     r"^auth/link/(?P<organization_slug>[^/]+)/$",
     AuthOrganizationLoginView.as_view(),
     name="sentry-auth-link-identity",
 ),
 url(r"^auth/login/$", AuthLoginView.as_view(), name="sentry-login"),
 url(
     r"^auth/login/(?P<organization_slug>[^/]+)/$",
     AuthOrganizationLoginView.as_view(),
     name="sentry-auth-organization",
 ),
 url(r"^auth/sso/$", AuthProviderLoginView.as_view(), name="sentry-auth-sso"),
 url(r"^auth/logout/$", AuthLogoutView.as_view(), name="sentry-logout"),
 # Account
 url(r"^login-redirect/$", accounts.login_redirect, name="sentry-login-redirect"),
 url(r"^register/$", AuthLoginView.as_view(), name="sentry-register"),
 url(r"^account/sudo/$", "sudo.views.sudo", {"template_name": "sentry/account/sudo.html"}, name="sentry-sudo"),
 url(r"^account/recover/$", accounts.recover, name="sentry-account-recover"),
 url(
     r"^account/recover/confirm/(?P<user_id>[\d]+)/(?P<hash>[0-9a-zA-Z]+)/$",
     accounts.recover_confirm,
     name="sentry-account-recover-confirm",
 ),
 url(r"^account/settings/$", accounts.settings, name="sentry-account-settings"),
 url(r"^account/settings/appearance/$", accounts.appearance_settings, name="sentry-account-settings-appearance"),
 url(r"^account/settings/identities/$", accounts.list_identities, name="sentry-account-settings-identities"),
 url(