{"action":"created","comment":{"url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/comments/81652744","pull_request_review_id":2617672,"id":81652744,"diff_hunk":"@@ -129,103 +169,133 @@ function Strategy(options, verifyFn) {\n   passport.Strategy.call(this);\n   this.name = 'oauth-bearer'; // Me, a name I call myself.\n \n-  this._verify = (typeof options === 'function') ? options : verifyFn;\n-  this._options = (typeof options === 'function') ? {} : options;\n+  if (!options)\n+    throw new Error('In BearerStrategy constructor: options is required');\n+  if (!verifyFn || typeof verifyFn !== 'function')\n+    throw new Error('In BearerStrategy constructor: verifyFn is required and it must be a function');\n \n-  // (1) check the existence of the verify function, and set passReqToCallback\n-  if (typeof this._verify !== 'function') {\n-    throw new TypeError('BearerStrategy requires a verify callback.');\n-  }\n-  if (this._options.passReqToCallback === undefined || this._options.passReqToCallback === null) {\n-    log.warn(`passReqToCallback is not set, settting it to true by default`);\n-    this._passReqToCallback = true;\n-  } else {\n-    this._passReqToCallback = this._options.passReqToCallback;\n-  }\n+  this._verify = verifyFn;\n+  this._options = options;\n \n-  // (2) modify some fields of this._options\n-  if (!this._options.realm)\n-    this._options.realm = 'Users';\n-  if (!Array.isArray(this._options.scope))\n-    this._options.scope = [this._options.scope];\n+  //---------------------------------------------------------------------------\n+  // Set up the default values\n+  //---------------------------------------------------------------------------\n \n-  // (3) log some info of this._options\n+  // default value of passReqToCallback is false\n+  if (options.passReqToCallback !== true)\n+    options.passReqToCallback = false;\n \n-  options = this._options;\n+  // default value of validateIssuer is true \n+  if (options.validateIssuer !== false) \n+    options.validateIssuer = true;\n \n-  if (options.clientID === undefined || options.clientID === null || options.clientID === '')\n-    throw new Error('options.clientID cannot be null or empty.');\n+  // default value of allowMultiAudiencesInToken is false\n+  if (options.allowMultiAudiencesInToken !== true)\n+    options.allowMultiAudiencesInToken = false;\n \n-  // if logging level specified, switch to it.\n-  if (options.loggingLevel) { log.levels('console', options.loggingLevel); }\n+  // default value of audience is clientID\n+  if (!options.audience || options.audience === '')\n+    options.audience = options.clientID;\n \n-  // check if we are using the common endpoint\n-  options._isCommonEndpoint = (options.identityMetadata && options.identityMetadata.indexOf('/common/') != -1);\n+  // default value of isB2C is false\n+  if (options.isB2C !== true)\n+    options.isB2C = false;\n \n-  // the default value of validateIssuer is true \n-  if (options.validateIssuer === undefined || options.validateIssuer === null) \n-    options.validateIssuer = true;\n+  // turn issuer into an array\n+  if (options.issuer === '')\n+    options.issuer = null; \n+  if (options.issuer && !Array.isArray(options.issuer))\n+    options.issuer = [options.issuer];","path":"lib/bearerstrategy.js","position":null,"original_position":174,"commit_id":"33454e4bdf734f8743740bc95aade507f24c781e","original_commit_id":"5b8cc13fa59d528c9dc973e45ccf04fca741d54b","user":{"login":"lovemaths","id":6593843,"avatar_url":"https://avatars.githubusercontent.com/u/6593843?v=3","gravatar_id":"","url":"https://api.github.com/users/lovemaths","html_url":"https://github.com/lovemaths","followers_url":"https://api.github.com/users/lovemaths/followers","following_url":"https://api.github.com/users/lovemaths/following{/other_user}","gists_url":"https://api.github.com/users/lovemaths/gists{/gist_id}","starred_url":"https://api.github.com/users/lovemaths/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lovemaths/subscriptions","organizations_url":"https://api.github.com/users/lovemaths/orgs","repos_url":"https://api.github.com/users/lovemaths/repos","events_url":"https://api.github.com/users/lovemaths/events{/privacy}","received_events_url":"https://api.github.com/users/lovemaths/received_events","type":"User","site_admin":false},"body":"now change it to null if it is empty array","created_at":"2016-10-03T22:22:53Z","updated_at":"2016-10-03T22:22:53Z","html_url":"https://github.com/AzureAD/passport-azure-ad/pull/222#discussion_r81652744","pull_request_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222","_links":{"self":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/comments/81652744"},"html":{"href":"https://github.com/AzureAD/passport-azure-ad/pull/222#discussion_r81652744"},"pull_request":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222"}}},"pull_request":{"url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222","id":87583563,"html_url":"https://github.com/AzureAD/passport-azure-ad/pull/222","diff_url":"https://github.com/AzureAD/passport-azure-ad/pull/222.diff","patch_url":"https://github.com/AzureAD/passport-azure-ad/pull/222.patch","issue_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/222","number":222,"state":"open","locked":false,"title":"Some fixes to BearerStrategy","user":{"login":"lovemaths","id":6593843,"avatar_url":"https://avatars.githubusercontent.com/u/6593843?v=3","gravatar_id":"","url":"https://api.github.com/users/lovemaths","html_url":"https://github.com/lovemaths","followers_url":"https://api.github.com/users/lovemaths/followers","following_url":"https://api.github.com/users/lovemaths/following{/other_user}","gists_url":"https://api.github.com/users/lovemaths/gists{/gist_id}","starred_url":"https://api.github.com/users/lovemaths/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lovemaths/subscriptions","organizations_url":"https://api.github.com/users/lovemaths/orgs","repos_url":"https://api.github.com/users/lovemaths/repos","events_url":"https://api.github.com/users/lovemaths/events{/privacy}","received_events_url":"https://api.github.com/users/lovemaths/received_events","type":"User","site_admin":false},"body":"(1) Issue #195 disallow bearer token in query\r\n(2) on common endpoint, user can set validateIssuer true if they provide issuer\r\n(3) breaking changes:\r\n        1. add isB2C option for using B2C\r\n\t2. no longer support user provided certificate, we only allow the certificate created from AAD metadata\r\n\t3. removed tenantName option for B2C. Instead of using common endpoint then replacing the 'common' with tenantName, we now ask user to directly provide the identityMetadata with tenantName.","created_at":"2016-10-01T00:06:57Z","updated_at":"2016-10-03T22:22:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1cb4cbf8b5d0b8224cd9f7c49bc9f08f48c6dae0","assignee":{"login":"tushargupta51","id":803796,"avatar_url":"https://avatars.githubusercontent.com/u/803796?v=3","gravatar_id":"","url":"https://api.github.com/users/tushargupta51","html_url":"https://github.com/tushargupta51","followers_url":"https://api.github.com/users/tushargupta51/followers","following_url":"https://api.github.com/users/tushargupta51/following{/other_user}","gists_url":"https://api.github.com/users/tushargupta51/gists{/gist_id}","starred_url":"https://api.github.com/users/tushargupta51/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tushargupta51/subscriptions","organizations_url":"https://api.github.com/users/tushargupta51/orgs","repos_url":"https://api.github.com/users/tushargupta51/repos","events_url":"https://api.github.com/users/tushargupta51/events{/privacy}","received_events_url":"https://api.github.com/users/tushargupta51/received_events","type":"User","site_admin":false},"assignees":[{"login":"tushargupta51","id":803796,"avatar_url":"https://avatars.githubusercontent.com/u/803796?v=3","gravatar_id":"","url":"https://api.github.com/users/tushargupta51","html_url":"https://github.com/tushargupta51","followers_url":"https://api.github.com/users/tushargupta51/followers","following_url":"https://api.github.com/users/tushargupta51/following{/other_user}","gists_url":"https://api.github.com/users/tushargupta51/gists{/gist_id}","starred_url":"https://api.github.com/users/tushargupta51/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tushargupta51/subscriptions","organizations_url":"https://api.github.com/users/tushargupta51/orgs","repos_url":"https://api.github.com/users/tushargupta51/repos","events_url":"https://api.github.com/users/tushargupta51/events{/privacy}","received_events_url":"https://api.github.com/users/tushargupta51/received_events","type":"User","site_admin":false},{"login":"brentschmaltz","id":3172421,"avatar_url":"https://avatars.githubusercontent.com/u/3172421?v=3","gravatar_id":"","url":"https://api.github.com/users/brentschmaltz","html_url":"https://github.com/brentschmaltz","followers_url":"https://api.github.com/users/brentschmaltz/followers","following_url":"https://api.github.com/users/brentschmaltz/following{/other_user}","gists_url":"https://api.github.com/users/brentschmaltz/gists{/gist_id}","starred_url":"https://api.github.com/users/brentschmaltz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brentschmaltz/subscriptions","organizations_url":"https://api.github.com/users/brentschmaltz/orgs","repos_url":"https://api.github.com/users/brentschmaltz/repos","events_url":"https://api.github.com/users/brentschmaltz/events{/privacy}","received_events_url":"https://api.github.com/users/brentschmaltz/received_events","type":"User","site_admin":false},{"login":"polita","id":7873171,"avatar_url":"https://avatars.githubusercontent.com/u/7873171?v=3","gravatar_id":"","url":"https://api.github.com/users/polita","html_url":"https://github.com/polita","followers_url":"https://api.github.com/users/polita/followers","following_url":"https://api.github.com/users/polita/following{/other_user}","gists_url":"https://api.github.com/users/polita/gists{/gist_id}","starred_url":"https://api.github.com/users/polita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/polita/subscriptions","organizations_url":"https://api.github.com/users/polita/orgs","repos_url":"https://api.github.com/users/polita/repos","events_url":"https://api.github.com/users/polita/events{/privacy}","received_events_url":"https://api.github.com/users/polita/received_events","type":"User","site_admin":false},{"login":"SomkaPe","id":21348914,"avatar_url":"https://avatars.githubusercontent.com/u/21348914?v=3","gravatar_id":"","url":"https://api.github.com/users/SomkaPe","html_url":"https://github.com/SomkaPe","followers_url":"https://api.github.com/users/SomkaPe/followers","following_url":"https://api.github.com/users/SomkaPe/following{/other_user}","gists_url":"https://api.github.com/users/SomkaPe/gists{/gist_id}","starred_url":"https://api.github.com/users/SomkaPe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SomkaPe/subscriptions","organizations_url":"https://api.github.com/users/SomkaPe/orgs","repos_url":"https://api.github.com/users/SomkaPe/repos","events_url":"https://api.github.com/users/SomkaPe/events{/privacy}","received_events_url":"https://api.github.com/users/SomkaPe/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222/commits","review_comments_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222/comments","review_comment_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/comments{/number}","comments_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/222/comments","statuses_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/statuses/33454e4bdf734f8743740bc95aade507f24c781e","head":{"label":"AzureAD:sijliu/v3.0.0Bearer","ref":"sijliu/v3.0.0Bearer","sha":"33454e4bdf734f8743740bc95aade507f24c781e","user":{"login":"AzureAD","id":2966316,"avatar_url":"https://avatars.githubusercontent.com/u/2966316?v=3","gravatar_id":"","url":"https://api.github.com/users/AzureAD","html_url":"https://github.com/AzureAD","followers_url":"https://api.github.com/users/AzureAD/followers","following_url":"https://api.github.com/users/AzureAD/following{/other_user}","gists_url":"https://api.github.com/users/AzureAD/gists{/gist_id}","starred_url":"https://api.github.com/users/AzureAD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AzureAD/subscriptions","organizations_url":"https://api.github.com/users/AzureAD/orgs","repos_url":"https://api.github.com/users/AzureAD/repos","events_url":"https://api.github.com/users/AzureAD/events{/privacy}","received_events_url":"https://api.github.com/users/AzureAD/received_events","type":"Organization","site_admin":false},"repo":{"id":10182011,"name":"passport-azure-ad","full_name":"AzureAD/passport-azure-ad","owner":{"login":"AzureAD","id":2966316,"avatar_url":"https://avatars.githubusercontent.com/u/2966316?v=3","gravatar_id":"","url":"https://api.github.com/users/AzureAD","html_url":"https://github.com/AzureAD","followers_url":"https://api.github.com/users/AzureAD/followers","following_url":"https://api.github.com/users/AzureAD/following{/other_user}","gists_url":"https://api.github.com/users/AzureAD/gists{/gist_id}","starred_url":"https://api.github.com/users/AzureAD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AzureAD/subscriptions","organizations_url":"https://api.github.com/users/AzureAD/orgs","repos_url":"https://api.github.com/users/AzureAD/repos","events_url":"https://api.github.com/users/AzureAD/events{/privacy}","received_events_url":"https://api.github.com/users/AzureAD/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/AzureAD/passport-azure-ad","description":"Azure Active Directory Authentication Strategies using Node and Passportjs","fork":false,"url":"https://api.github.com/repos/AzureAD/passport-azure-ad","forks_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/forks","keys_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/teams","hooks_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/hooks","issue_events_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/events{/number}","events_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/events","assignees_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/assignees{/user}","branches_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/branches{/branch}","tags_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/tags","blobs_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/refs{/sha}","trees_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/statuses/{sha}","languages_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/languages","stargazers_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/stargazers","contributors_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/contributors","subscribers_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/subscribers","subscription_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/subscription","commits_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/commits{/sha}","git_commits_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/commits{/sha}","comments_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/comments{/number}","issue_comment_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/comments{/number}","contents_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/contents/{+path}","compare_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/merges","archive_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/downloads","issues_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues{/number}","pulls_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls{/number}","milestones_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/milestones{/number}","notifications_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/labels{/name}","releases_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/releases{/id}","deployments_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/deployments","created_at":"2013-05-20T21:08:54Z","updated_at":"2016-09-30T18:38:55Z","pushed_at":"2016-10-03T22:22:25Z","git_url":"git://github.com/AzureAD/passport-azure-ad.git","ssh_url":"git@github.com:AzureAD/passport-azure-ad.git","clone_url":"https://github.com/AzureAD/passport-azure-ad.git","svn_url":"https://github.com/AzureAD/passport-azure-ad","homepage":"","size":803,"stargazers_count":97,"watchers_count":97,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":62,"mirror_url":null,"open_issues_count":21,"forks":62,"open_issues":21,"watchers":97,"default_branch":"master"}},"base":{"label":"AzureAD:sijliu/v3.0.0","ref":"sijliu/v3.0.0","sha":"d1fe14a340520ddd8ea939b3d47c666cf20253d2","user":{"login":"AzureAD","id":2966316,"avatar_url":"https://avatars.githubusercontent.com/u/2966316?v=3","gravatar_id":"","url":"https://api.github.com/users/AzureAD","html_url":"https://github.com/AzureAD","followers_url":"https://api.github.com/users/AzureAD/followers","following_url":"https://api.github.com/users/AzureAD/following{/other_user}","gists_url":"https://api.github.com/users/AzureAD/gists{/gist_id}","starred_url":"https://api.github.com/users/AzureAD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AzureAD/subscriptions","organizations_url":"https://api.github.com/users/AzureAD/orgs","repos_url":"https://api.github.com/users/AzureAD/repos","events_url":"https://api.github.com/users/AzureAD/events{/privacy}","received_events_url":"https://api.github.com/users/AzureAD/received_events","type":"Organization","site_admin":false},"repo":{"id":10182011,"name":"passport-azure-ad","full_name":"AzureAD/passport-azure-ad","owner":{"login":"AzureAD","id":2966316,"avatar_url":"https://avatars.githubusercontent.com/u/2966316?v=3","gravatar_id":"","url":"https://api.github.com/users/AzureAD","html_url":"https://github.com/AzureAD","followers_url":"https://api.github.com/users/AzureAD/followers","following_url":"https://api.github.com/users/AzureAD/following{/other_user}","gists_url":"https://api.github.com/users/AzureAD/gists{/gist_id}","starred_url":"https://api.github.com/users/AzureAD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AzureAD/subscriptions","organizations_url":"https://api.github.com/users/AzureAD/orgs","repos_url":"https://api.github.com/users/AzureAD/repos","events_url":"https://api.github.com/users/AzureAD/events{/privacy}","received_events_url":"https://api.github.com/users/AzureAD/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/AzureAD/passport-azure-ad","description":"Azure Active Directory Authentication Strategies using Node and Passportjs","fork":false,"url":"https://api.github.com/repos/AzureAD/passport-azure-ad","forks_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/forks","keys_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/keys{/key_id}","collaborators_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/teams","hooks_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/hooks","issue_events_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/events{/number}","events_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/events","assignees_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/assignees{/user}","branches_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/branches{/branch}","tags_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/tags","blobs_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/refs{/sha}","trees_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/trees{/sha}","statuses_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/statuses/{sha}","languages_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/languages","stargazers_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/stargazers","contributors_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/contributors","subscribers_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/subscribers","subscription_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/subscription","commits_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/commits{/sha}","git_commits_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/git/commits{/sha}","comments_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/comments{/number}","issue_comment_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/comments{/number}","contents_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/contents/{+path}","compare_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/compare/{base}...{head}","merges_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/merges","archive_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/downloads","issues_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues{/number}","pulls_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls{/number}","milestones_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/milestones{/number}","notifications_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/labels{/name}","releases_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/releases{/id}","deployments_url":"https://api.github.com/repos/AzureAD/passport-azure-ad/deployments","created_at":"2013-05-20T21:08:54Z","updated_at":"2016-09-30T18:38:55Z","pushed_at":"2016-10-03T22:22:25Z","git_url":"git://github.com/AzureAD/passport-azure-ad.git","ssh_url":"git@github.com:AzureAD/passport-azure-ad.git","clone_url":"https://github.com/AzureAD/passport-azure-ad.git","svn_url":"https://github.com/AzureAD/passport-azure-ad","homepage":"","size":803,"stargazers_count":97,"watchers_count":97,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":62,"mirror_url":null,"open_issues_count":21,"forks":62,"open_issues":21,"watchers":97,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222"},"html":{"href":"https://github.com/AzureAD/passport-azure-ad/pull/222"},"issue":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/222"},"comments":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/issues/222/comments"},"review_comments":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222/comments"},"review_comment":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/pulls/222/commits"},"statuses":{"href":"https://api.github.com/repos/AzureAD/passport-azure-ad/statuses/33454e4bdf734f8743740bc95aade507f24c781e"}}}}
{"actor":{"display_login":"lovemaths"}}