diff --git a/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java b/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java index 8a90aed..502b034 100644 --- a/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/accounts/FriendsRest.java @@ -33,9 +33,15 @@ @PUT @Path("/{uid}/friends/{fid}") - public void putFriend(@PathParam("uid") String uid, @PathParam("fid") String fid) { + public void putFriend(@PathParam("uid") String uid, @PathParam("fid") String fid, @FormParam("token") String token) { AccountManager accountManager = AccountManager.getInstance(); Account myAc = accountManager.getAccount(uid); //uidに紐づいたAccountのインスタンスを取得 + if (!(myAc.getToken().equals(token))) { + var response = Response.status(Response.Status.NO_CONTENT); + response.status(401).entity("tokenの認証に失敗"); + throw new WebApplicationException(response.build()); + } + Account otherAc = accountManager.getAccount(fid); //fidに紐づいたAccountのインスタンスを取得 FriendManager myFriendManager = myAc.getFriendManager(); //uidのAccountのインスタンスのFriendManagerを取得 FriendManager otherAcFriendManager = otherAc.getFriendManager(); //fidのAccountのインスタンスのFriendManagerを取得 @@ -59,9 +65,15 @@ @DELETE @Path("/{uid}/friends/{fid}") - public void deleteFriend(@PathParam("uid") String uid, @PathParam("fid") String fid) { + public void deleteFriend(@PathParam("uid") String uid, @PathParam("fid") String fid, @FormParam("token") String token) { AccountManager accountManager = AccountManager.getInstance(); Account myAc = accountManager.getAccount(uid); //uidに紐づいたAccountのインスタンスを取得 + if (!(myAc.getToken().equals(token))) { + var response = Response.status(Response.Status.NO_CONTENT); + response.status(401).entity("tokenの認証に失敗"); + throw new WebApplicationException(response.build()); + } + Account otherAc = accountManager.getAccount(fid); //fidに紐づいたAccountのインスタンスを取得 FriendManager myFriendManager = myAc.getFriendManager(); //uidのAccountのインスタンスのFriendManagerを取得 FriendManager otherFriendManager = otherAc.getFriendManager(); //fidのAccountのインスタンスのFriendManagerを取得