services/security/roled/internal: Remove _role suffix from generated blessings

The blessings generated by roled when Extend=true include the _role
extension presented by the caller. This extension isn't useful in the
generated blessings. So, remove it in the most common case.

Change-Id: I213c9defcab9a8f0b400b7ed3490c0d5817e005a
diff --git a/services/security/roled/internal/role.go b/services/security/roled/internal/role.go
index 3941329..c3e8b24 100644
--- a/services/security/roled/internal/role.go
+++ b/services/security/roled/internal/role.go
@@ -5,6 +5,7 @@
 package internal
 
 import (
+	"strings"
 	"time"
 
 	"v.io/v23"
@@ -14,6 +15,8 @@
 	"v.io/v23/verror"
 
 	"v.io/x/lib/vlog"
+
+	isecurity "v.io/x/ref/services/security"
 )
 
 var (
@@ -71,6 +74,7 @@
 	}
 	var extensions []string
 	for _, b := range blessingNames {
+		b = strings.TrimSuffix(b, security.ChainSeparator+isecurity.RoleSuffix)
 		extensions = append(extensions, role+security.ChainSeparator+b)
 	}
 	return extensions
diff --git a/services/security/roled/internal/role_test.go b/services/security/roled/internal/role_test.go
index 3ced6b1..583bd98 100644
--- a/services/security/roled/internal/role_test.go
+++ b/services/security/roled/internal/role_test.go
@@ -89,9 +89,9 @@
 		{user3, "unknown", verror.ErrNoAccess.ID, nil},
 
 		{user1, "A", verror.ErrNoAccess.ID, nil},
-		{user1R, "A", noErr, []string{"root/roles/A/root/users/user1/_role"}},
+		{user1R, "A", noErr, []string{"root/roles/A/root/users/user1"}},
 		{user2, "A", verror.ErrNoAccess.ID, nil},
-		{user2R, "A", noErr, []string{"root/roles/A/root/users/user2/_role"}},
+		{user2R, "A", noErr, []string{"root/roles/A/root/users/user2"}},
 		{user3, "A", verror.ErrNoAccess.ID, nil},
 		{user3R, "A", noErr, []string{"root/roles/A/root/users/user3/_role/bar", "root/roles/A/root/users/user3/_role/foo"}},