{"action":"created","issue":{"url":"https://api.github.com/repos/box/box-java-sdk/issues/149","labels_url":"https://api.github.com/repos/box/box-java-sdk/issues/149/labels{/name}","comments_url":"https://api.github.com/repos/box/box-java-sdk/issues/149/comments","events_url":"https://api.github.com/repos/box/box-java-sdk/issues/149/events","html_url":"https://github.com/box/box-java-sdk/issues/149","id":98871506,"number":149,"title":"Implementing Box Developer Edition","user":{"login":"bgoldman","id":160560,"avatar_url":"https://avatars.githubusercontent.com/u/160560?v=3","gravatar_id":"","url":"https://api.github.com/users/bgoldman","html_url":"https://github.com/bgoldman","followers_url":"https://api.github.com/users/bgoldman/followers","following_url":"https://api.github.com/users/bgoldman/following{/other_user}","gists_url":"https://api.github.com/users/bgoldman/gists{/gist_id}","starred_url":"https://api.github.com/users/bgoldman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgoldman/subscriptions","organizations_url":"https://api.github.com/users/bgoldman/orgs","repos_url":"https://api.github.com/users/bgoldman/repos","events_url":"https://api.github.com/users/bgoldman/events{/privacy}","received_events_url":"https://api.github.com/users/bgoldman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-04T01:49:04Z","updated_at":"2015-08-04T14:27:15Z","closed_at":null,"body":"CODE CHANGES\r\n\r\nExisting class BoxApiConnection:\r\n\r\n1. Create new public static method getAppAuthConnection: Args for enterpriseId, clientId, clientSecret, privateKey, privateKeyPassword. Requests enterprise token using new authenticate method. Instantiates and returns new BoxApiConnection.\r\n2. Create new public static method getAppUserConnection: Args for userId, clientId, clientSecret, privateKey, privateKeyPassword. Requests user token using new authenticate method. Instantiates and returns new BoxApiConnection.\r\n3. Create new version of public authenticate: Args for entityId, type, private key. Creates a JWT assertion and then uses that assertion to request an auth token. Called by getAppAuthConnection and getAppUserConnection.\r\n4. Create new private static method readPrivateKey: Args for privateKey and privateKeyPassword. Converts the private key string and returns PrivateKey instance, decrypting if necessary. Called by authenticate.\r\n\r\nExisting class BoxUser:\r\n\r\n1. Create new public method createAppUser: Same args as createEnterpriseUser. Calls createEnterpriseUser, setting is_platform_access_only=true.\r\n2. Modify existing public method createEnterpriseAccessUser: Add param for isPlatformAccessOnly.\r\n\r\nNOTES\r\n\r\n1. Creating an app user will be done by pass-through using BoxUser.createEnterpriseUser, without needing to modify this method beyond adding one param. It will authenticate using a BoxApiConnection instance created from getAppAuthConnection.\r\n\r\n2. Getting an app user will be done by instantiating a new BoxUser or by using BoxUser.getCurrentUser(), without needing to modify either of these methods. It will authenticate using a BoxApiConnection instance created from getAppUserConnection.\r\n\r\n3. Getting an app user’s info will be done using BoxUser.getInfo, without needing to modify this method. It will authenticate using a BoxApiConnection instance created from getAppUserConnection.\r\n\r\n4. Editing an app user will be done using BoxUser.updateInfo, without needing to modify this method. It will authenticate using a BoxApiConnection instance created from getAppUserConnection.\r\n\r\n5. Deleting an app user will be done using BoxUser.delete, without needing to modify this method. It will authenticate using a BoxApiConnection instance created from getAppUserConnection."},"comment":{"url":"https://api.github.com/repos/box/box-java-sdk/issues/comments/127631354","html_url":"https://github.com/box/box-java-sdk/issues/149#issuecomment-127631354","issue_url":"https://api.github.com/repos/box/box-java-sdk/issues/149","id":127631354,"user":{"login":"pflory","id":2539012,"avatar_url":"https://avatars.githubusercontent.com/u/2539012?v=3","gravatar_id":"","url":"https://api.github.com/users/pflory","html_url":"https://github.com/pflory","followers_url":"https://api.github.com/users/pflory/followers","following_url":"https://api.github.com/users/pflory/following{/other_user}","gists_url":"https://api.github.com/users/pflory/gists{/gist_id}","starred_url":"https://api.github.com/users/pflory/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pflory/subscriptions","organizations_url":"https://api.github.com/users/pflory/orgs","repos_url":"https://api.github.com/users/pflory/repos","events_url":"https://api.github.com/users/pflory/events{/privacy}","received_events_url":"https://api.github.com/users/pflory/received_events","type":"User","site_admin":false},"created_at":"2015-08-04T14:27:15Z","updated_at":"2015-08-04T14:27:15Z","body":"Thanks for the info!  Is there a (tentative) timeline for implementing some or all of this?\r\n\r\nOur client is in a bind since the Oauth process changed recently, mentioned earlier, breaking their backend integration between their web CMS and Box, so curious if an \"official\" API might be coming soon ... or workarounds will be needed in the meantime.\r\n\r\n"}}