github怎么删除自己创建的origanizations

该配置是指在其开发者站点上向Facebook紸册的客户端应用程序其中您必须为该应用程序提供注册的重定向(主页)。 该示例是注册到“localhost:8080”所以它是个只能运行在本地的应用程序。

有了这些配置你可以再次运行应用程序,并访问的主页 而不是被重定向的Facebook登录主页。 当你访问本地主页重定向并选择您要求嘚任何授权,您将被重定向回到本地应用程序的主页 如果您已经通过Facebook认证了身份,即使您使用新的浏览器打开它不使用Cookie和缓存数据,吔不需要在本地重新进行身份验证(这就是单点登录的含义。)

如果您正在着手于示例应用程序的这一部分请务必清除您的Cookie和HTTP Basic凭据的瀏览器缓存。 在Chrome浏览器中打开一个新的隐身窗口是此操作的最佳方式。

授予对此示例的访问权是安全的因为只有在本地运行的应用程序可以使用令牌,并且要求的权限范围有限 当你登录到这种类型的应用程序时,请注意你正在批准的是什么:他们可能会要求等多但是並不是你自己需要的许可授权(例如他们可能会要求允许更改你的个人数据,而这些数据不太可能在你自己愿意的)

您刚刚以OAuth2的名义編写的应用程序是一个客户端应用程序,它使用授权code从Facebook(授权服务器)获取访问令牌(access_token) 然后使用access_token向Facebook获取一些个人信息(仅限于您允许的内嫆),包括您的登录ID和您的姓名 在这个阶段,facebook充当了一个资源服务器对你发送的access_token进行解码,检查它给了应用程序访问用户详细信息的權限 如果该过程成功,则应用程序将用户详细信息插入到Spring Security上下文中以便进行身份验证。

如果您查看浏览器工具(Chrome上的F12)并锁定所有活跃的网络传输,您将看到Facebook的重定向最后会有一个新的Set-Cookie header返回主页。 这个cookie(默认情况下是JSESSIONID)是Spring(或任何基于servlet的)应用程序的认证详情的标記

所以我们有一个用户使用外部供应商(Facebook)进行认证相应内容安全的应用程序。 我们不希望将其应用于网上银行网站仅是用于基本的身份识别目的,并将网站不同用户的内容隔离开来这是一个很好的起点,这就解释了为什么这种认证现在非常流行 在下一节中,我们將为应用程序添加一些基本功能并且使用户对于最初重定向到Facebook时所发生的事情更加理解得清晰。

在本节中我们通过添加一个显式链接來修改我们刚刚构建的通过Facebook雅正的简单应用程序。 新链接不会立即被重定向而是可以在主页上看到,用户可以选择登录或不登录 只有當用户点击链接时,才会显示安全内容

要呈现一些内容,以用户是否通过验证为条件我们可以使用服务器端呈现(例如,使用Freemarker或Tymeleaf)戓者我们可以使用一些JavaScript渲染浏览器。 要做到这一点我们选择使用AngularJS,但是如果你更喜欢使用不同的框架更改客户端的代码不会很难。

要開始使用动态内容我们需要在部分一些标签,以显示它:

最后我们在上面的Filter声明中将登录路径更改为了facebook-specific,所以我们需要在HTML中进行相同嘚更改:

此处的客户端细节在于Github上的注册地址为localhost:8080(与Facebook相同)。该应用程序现在准备运行并为用户提供了与Facebook或Github进行身份验证的选择。

即使身份验证委托给外部提供者许多应用程序也需要在本地保存有关的用户数据。 我们不在这里展示代码但是分两步很容易做到。

1、為您的后端选择一个数据库并为适合您的需求的自定义用户设置存储库(例如使用Spring Data),并且可以从外部认证中完全或部分地填充该对象

2、通过检查/ user端点中的存储库,为每个登录的唯一用户配置一个User对象 如果已有User对象具有当前用户的身份,则可以更新否则创建。

提示:在User对象中添加一个字段以链接到外部提供者中的唯一标识(不是用户名,而是外部提供者中帐户的唯一标识符)

在本节中,我们通過修改我们构建的github应用程序将其变成一个完整的OAuth2授权服务器仍然使用Facebook和Github进行身份验证,但是能够创建自己的访问令牌(access_token) 然后,这些囹牌可用于保护后端资源或与其他应用程序(我们需要以同样的方式保护)进行SSO。

在开始着手于授权服务器功能之前我們将清理两个外部提供程序的配置代码。 有一些代码是在ssoFilter()方法中重复的所以我们把它们放到一个共享的方法中:

在客户端上,我们需要能够为无法认证的用户提供一些反馈 为了促进这一点,我们添加一个提示信息:

请注意我们已经将OAuth2RestOperations自动装入此方法,因此我们可鉯使用它代表经过身份验证的用户来访问Github API 我们这样做,并循环查找组织寻找与“spring-projects”(这是用于存储Spring开源项目的组织)相匹配的组织。 洳果您希望能够成功进行身份验证并且您不在Spring工程团队中,则可以在此替换自己的值

显然上面的代码可以推广到其他认证规则,有些適用于Github有些适用于其他OAuth2提供者。 所有你需要的是OAuth2RestOperations和提供者的API的一些知识

我们已经看到如何使用Spring Boot和Spring Security以很少的代码来构建多种样式的应用程序。 贯穿所有示例的主题是使用外部OAuth2提供者的“社交”登录 最终的样本甚至可以用来“内部”提供这样的服务,因为它具有与外部提供者相同的基本特征 所有示例应用程序都可以很容易地扩展和重新配置,以用于更具体的用例通常只用配置文件更改。 请记住如果您使用自己的服务器中的示例版本来注册Facebook或Github(或类似),并获得您自己的主机地址的客户端凭据 请记住不要将这些凭据放在开源代码中!

右上角的Sign in是登录的意思如果你巳经有帐号了,可以点击该连接进入登录界面

如果还没有帐号,可以点击右下角的Sign up for GitHub(绿色背景)的按钮进入注册界面

其中Title可以随意写,

用命令打开这个文件然后把里面的内容拷贝到key里面。点击Add key即可

四.与服务器同步代码(使用ssh2进行通信)

点击eclipse左上角的new 按钮(注意是图标而不是菜单栏里面的new选项),

点击change... 弹出如下界面拷贝网站上面的ssh连接,粘帖进去

创建好了之后,就可以提交工程了

提交只是保存箌本地的文件里面而已,还需要同步到服务器同步工作工程。

从服务器下载工程代码:

继续点击next出现如下界面

往第一个文本框里面填寫网站上的ssh连接地址,我们代码库的地址为:

其他不用填写继续next

我暂时还不了解这两个的区别,统一选择master吧

选择一个文件夹存放工程僦可以了,点击finish等待同步就可以了

一直以来想有个属于自己的博客涳间或许是出于一种归属感吧。就这样知道了 WordPress、Jekyll、Hexo 和 Octopress一番对比后选择了 Octopress,相信追随大神的脚步应该不会错Octopress 接触有一个多星期了,这裏总结下基于 Octopress 及 Github搭建博客的过程及自己中间遇到的一些问题的解决办法技术上不一定完全精确,若有大神围观望指正:)

执行如下命令查看本地分支(拿到第6条解释为什么要改名为 source):

前面4 我们将本地 master 分支名字从"master"改为"source",这里一起分析下原因4和6放在一起容易理解点。

1.3. 生成並部署站点

好到这里,如果顺利完成前面所有内容的话我们已经将 Octopress 部署到 Github Pages 了。如果你想换成自己的域名可以参考这里的方法()不洅赘述了。

2.1. 新建一篇博文

打开新建的"-Hi-octopress.markdown"文件(我用的免费还好用),会发现头文件有如下内容(不要删除这段信息):

在最后面的---下面就鈳以开始我们的正文啦~

2.2. 预览新建的博文

然后浏览器打开,可以预览我们刚写的博客效果

2.3. 发布新建的博文

OK,到此本地 octopress 博客部署到 Github Pages 完成了,打开访问你的个人博客看看效果吧额,因为还没有做布局修改留到下一篇介绍~

我要回帖

 

随机推荐