codecamp

GitHub 关于使用 SAML 单点登录进行身份验证

您可以通过身份提供程序 (IdP) 验证来访问使用 SAML 单点登录 (SSO) 的组织。 要在组织实施 SAML SSO 时使用命令行上的 API 或 Git 进行身份验证,您必须授权个人访问令牌或 SSH 密钥。

SAML 单点登录可用于 GitHub Enterprise Cloud。 更多信息请参阅“GitHub's products”。

SAML SSO 为 GitHub 上的组织所有者和企业所有者提供一种控制安全访问仓库、议题和拉取请求等组织资源的方法。 组织所有者可以邀请您在 GitHub 上的用户帐户加入其使用 SAML SSO 的组织,这样您可以对该组织做出贡献,并且保留您在 GitHub 上的现有身份和贡献。

在访问使用 SAML SSO 的组织中的资源时,GitHub 会将您重定向到组织的 SAML IdP 进行身份验证。 在 IdP 上成功验证您的帐户后,IdP 会将您重定向回到 GitHub,您可以在那里访问组织的资源。

注:外部协作者无需使用 IdP 进行身份验证即可访问实施 SAML SSO 的组织中的资源。 有关外部协作者的更多信息,请参阅“组织的权限级别”。

如果您最近在浏览器中使用组织的 SAML IdP 进行过身份验证,则在访问使用 SAML SSO 的 GitHub 组织时会自动获得授权。 如果您最近没有在浏览器中使用组织的 SAML IdP 进行身份验证,则必须在 SAML IdP 进行身份验证后才可访问组织。

必须定期使用 SAML IdP 验证身份和访问组织在 GitHub 上的资源。 此登录期的持续时间由 IdP 指定,一般为 24 小时。 此定期登录要求会限制访问的时长,您必须重新验证身份后才可继续访问。 您可以在安全设置中查看和管理活动的 SAML 会话。 更多信息请参阅“查看和管理活动的 SAML 会话”。

要在命令行上使用 API 或 Git 访问使用 SAML SSO 的组织中受保护的内容,需要使用授权的 HTTPS 个人访问令牌或授权的 SSH 密钥。 默认授权 OAuth 应用程序 访问令牌。

如果没有个人访问令牌或 SSH 密钥,可以创建用于命令行的个人访问令牌或生成新的 SSH 密钥。 更多信息请参阅“创建个人访问令牌”或“生成新的 SSH 密钥并添加到 ssh-agent”。

要对实施 SAML SSO 的组织使用新的或现有的个人访问令牌或 SSH 密钥,需要授权该令牌或授权 SSH 密钥用于 SAML SSO 组织。 更多信息请参阅“授权个人访问令牌用于 SAML 单点登录”或“授权 SSH 密钥用于 SAML 单点登录”。

每次授权 OAuth 应用程序 时必须有活动的 SAML 会话。

延伸阅读

GitHub 禁用个人帐户的双重身份验证
GitHub 授权用于 SAML 单点登录的 SSH 密钥
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }